两个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']; //开源代码phpfensi测试数据 //$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 (! empty empty ( $_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 ( empty empty ( $year )){ $year = date ( 'Y' ); } if ( empty empty ( $month )){ $month = date ( 'm' ); } if ( empty empty ( $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类库的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://www.haodehen.cn/did29521