本文实例讲述了PHP简单日历实现方法。分享给大家供大家参考,具体如下:
运行效果截图如下:
具体代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
<?php
/*
* Created on 2016-7-20
*/
SimCalendar( '2016-08' ); //显示8月份日历
function SimCalendar( $date )
{
/**
* 简单日历输出,本函数需要cal_days_in_month的支持
* @param $date Y-m 要输出的日期
*/
echo '<table border= "1" >
<thead>
<tr>
<th>日</th>
<th>一</th>
<th>二</th>
<th>三</th>
<th>四</th>
<th>五</th>
<th>六</th>
</tr>
</thead>
<tbody>';
$date_array = explode ( '-' , $date );
$start_week = 0; //从星期天开始为0
$month = cal_days_in_month(CAL_GREGORIAN, $date_array [1], $date_array [0]); //当月的天数
$wstar = date ( 'w' , strtotime ( $date . '-01' )); //当月从星期几天始
$rows = ceil (( $wstar + $month ) / 7); //总行数
$mday = 1; //第几天
for ( $i = 0; $i < $rows ; $i ++) {
echo '<tr>' ;
for ( $d = 0; $d < 7; $d ++) {
$nowday = 7 * $i + $d + $start_week ;
if ( $nowday >= $wstar && $mday <= $month ) {
$temp = date ( 'd' , strtotime ( $date . '-' . $mday ));
echo '<td>' . $temp . '</td>' ;
$mday ++;
} else {
echo '<td> </td>' ;
}
}
echo '</tr>' ;
}
echo '</tbody>
</table>';
}
?>
|
希望本文所述对大家PHP程序设计有所帮助。