两个php日期控制类实例

原创 2017-02-10 11:11:29 344
摘要:本文实例讲述了两个php日期控制类。分享给大家供大家参考。具体分析如下:由于工作需要我找了二个时间日期控制,这个不用js只要php实现的,因为要带参考查询操作,感兴趣的朋友可以参考一下,我自己用的是第二个,所以第二个己作了修改.实例一,代码如下:<?php  class Calendar  {   var $month; 

本文实例讲述了两个php日期控制类。分享给大家供大家参考。具体分析如下:

由于工作需要我找了二个时间日期控制,这个不用js只要php实现的,因为要带参考查询操作,感兴趣的朋友可以参考一下,我自己用的是第二个,所以第二个己作了修改.

实例一,代码如下:

<?php 
class Calendar 
{ 
 var $month; 
 var $year; 
 
    function __construct($year,$month) 
    { 
     $this->year=$year; 
  $this->month=$month; 
 } 
 
 function endday() 
 { 
  $daydate=date("d",mktime(0,0,0,$this->month,35,$this->year)); 
  $endday=35-$daydate; 
  return $endday; 
 } 
 
 function oneday_week() 
 { 
  $oneday_week=date("w",mktime(0,0,0,$this->month,1,$this->year)); 
  return $oneday_week; 
 } 
 
 function title_link() 
 { 
  if(!isset($this->month) && !isset($this->year)) 
  { 
   $this->year  = date("Y"); 
   $this->month = date("m"); 
        } 
   
  $lastmonth=$this->month-1; 
  $nextmonth=$this->month+1; 
  $lastyear=$this->year; 
  $nextyear=$this->year; 
 
        if($this->month <= 1) 
        { 
         $lastmonth=12; 
   $nextmonth=$this->month+1; 
   $lastyear=$this->year-1; 
   $nextyear=$this->year; 
  } 
        elseif ($this->month >= 12)  
        { 
         $lastmonth=$this->month-1; 
         $nextmonth=1; 
   $lastyear=$this->year; 
   $nextyear=$this->year+1; 
        } 
 
        $str ="<td colspan='2'><div align='center'><a href=$PHP_SELF?year=".$lastyear."&month=".$lastmonth."&><<<</a></div></td>"; 
  $str.="<td colspan='3'><div align='center'>".$this->year."--".$this->month."</div></td>"; 
  $str.="<td colspan='2'><div align='center'><a href=$PHP_SELF?year=".$nextyear."&month=".$nextmonth."&>>>></a></div></td>"; 
  return $str; 
 } 
 
 function Show_Calendar() 
 { 
        echo "<table width='181' border=5><tr class='tr.title'>".$this->title_link()."</tr><tr>"; 
        $weekarray=array("日","一","二","三","四","五","六"); 
         
        for($k=0;$k<=6;$k++) 
        { 
         echo "<td><div align='center'>".$weekarray[$k]."</div></td>"; 
        } 
        echo "</tr>"; 
         
        for($i=0;$i<=5;$i++) 
        { 
         echo "<tr>"; 
         for($j=1;$j<=7;$j++) 
         { 
     $math=( $j - $this->oneday_week() ) + 7 * $i; 
     
          echo "<td><div align='center'>"; 
     
          if($math <= $this->endday() and $math>=1) 
     { 
   echo $math; 
     } 
     
         echo "</div></td>"; 
         }     
         echo "</tr>";      
        } 
  echo "</table>"; 
 } 
} 
$calendar=new Calendar($_GET['year'],$_GET['month']); 
$calendar->month=$_GET['month']; 
$calendar->year=$_GET['year']; 
$calendar->Show_Calendar();
?>

实例二,代码如下:

<?php 
header("content-type:text/html;charset=utf-8"); 
?> 
<meta http-equiv="content-type" content="text/html;charset=utf-8"> 
 
<link href="statics/css/zhaoshang.css" rel="stylesheet" type="text/css"> 
<div class="rili"> 
<?php 
if(!emptyempty($_GET)){ 
    $year = isset($_GET['year'])?$_GET['year']:date('y'); 
    $month = isset($_GET['month'])?$_GET['month']:date('m'); 
 $day = isset($_GET['day'])?$_GET['day']:date('d'); 
} 
if(emptyempty($year)){ 
    $year = date('Y'); 
} 
if(emptyempty($month)){ 
    $month = date('m'); 
} 
 
if(emptyempty($month)){ 
    $days = date('d'); 
} 
 
$start_weekday = date('w',mktime(0,0,0,$month,1,$year)); 
//echo $start_weekday; 
$days = date('t',mktime(0,0,0,$month,1,$year)); 
//echo $days; 
$week = array('日','一','二','三','四','五','六'); 
$i = 0; 
$k = 1; 
$j = 0; 
echo '<table >'; 
echo '<tr><td colspan = 7 style ="text-align:center; width:250px; background:#d5e5f6; border-bottom:1px solid #333366;">'.$year.'年'.$month.'月'.'</td></tr>'; 
echo '<tr>'; 
for($i = 0;$i < 7;$i++){ 
    echo '<td>'.$week[$i].'</td>'; 
} 
echo '</tr>'; 
echo '<tr>'; 
for($j = 0;$j < $start_weekday;$j++){ 
    echo '<td style="color:#f1f8fc;">'.$j.'</td>'; 
} 
while($k <= $days){ 
    if($k == $day){ 
        echo '<td style="color:red"><a href="?year='.$year.'&month='.$month.'&day='.$k.'"><span style="color:red">'.$k.'</span></a></td>'; 
    }else{ 
        echo '<td><a href="?year='.$year.'&month='.$month.'&day='.$k.'">'.$k.'</a></td>'; 
    } 
    if(($j+1) % 7 == 0){ 
        echo '</tr><tr>'; 
    } 
    $j++; 
    $k++; 
} 
while($j % 7 != 0){ 
    echo '<td style="color:#f1f8fc;">'.$j.'</td>'; 
    $j++; 
} 
echo '</tr>'; 
 
echo '<tr style="background:#d5e5f6;">'; 
echo "<td><a href=?".lastYear($year,$month).">".'<<'.'</a></td>'; 
echo "<td><a href=?".lastMonth($year,$month).">".'<'.'</a></td>'; 
echo '<td colspan = 3 style="width:105px;" >'; 
echo '<form name = "myform" method = "GET">'; 
echo '<SELECT name = year  class="year">'; 
for($start_year = 1970;$start_year<2039;$start_year++){ 
 $SELECTed=''; 
 if( $year== $start_year ) { $SELECTed='SELECTed'; } 
 echo '<option value ='. $start_year.' '.$SELECTed.'>'.$start_year.'</option>'." nt"; 
} 
echo '</SELECT>'; 
echo '<SELECT name = month class="month">'; 
for($start_month = 1;$start_month<=12;$start_month++){ 
 $SELECTed=''; 
 if( $month== $start_month ) { $SELECTed='SELECTed';} 
 echo '<option value = '.$start_month.' '.$SELECTed.'>'.$start_month.'</option>'." nt"; 
} 
echo '</SELECT>'; 
/*echo '月';*/ 
/*echo '<input type = "submit" name = "search" value = "查询">';*/ 
echo '</form>'; 
echo '</td>'; 
echo "<td><a href=?".nextYear($year,$month).">".'>>'.'</a></td>'; 
echo "<td><a href=?".nextMonth($year,$month).">".'>'.'</a></td>'; 
echo '</tr>'; 
echo '</table>'; 
 
function lastYear($year,$month){ 
 $year = $year-1; 
 return "year=$year&month=$month"; 
} 
function lastMonth($year,$month){ 
 if($month == 1){ 
  $year = $year -1; 
  $month = 12; 
 }else{ 
  $month--; 
 } 
 return "year=$year&month=$month"; 
} 
function nextYear($year,$month){ 
 $year = $year+1; 
 return "year=$year&month=$month"; 
} 
function nextMonth($year,$month){ 
 if($month == 12){ 
  $year = $year +1; 
  $month = 1; 
 }else { 
  $month++; 
 } 
 return "year=$year&month=$month"; 
} 
 
?> 
</div>

更多关于两个php日期控制类实例法请关注PHP中文网(www.php.cn)其他文章!

发布手记

热门词条