Posted in PHP onDecember 09, 2014
本文实例讲述了两个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日期控制类实例
- Author -
shichen2014声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。
Reply on: @reply_date@
@reply_contents@