本文实例讲述了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
49
50
51
52
53
54
55
56
57
58
59
60
|
<?php
function build_calendar( $month , $year ) {
// Create array containing abbreviations of days of week.
$daysOfWeek = array ( 'S' , 'M' , 'T' , 'W' , 'T' , 'F' , 'S' );
// What is the first day of the month in question?
$firstDayOfMonth = mktime (0,0,0, $month ,1, $year );
// How many days does this month contain?
$numberDays = date ( 't' , $firstDayOfMonth );
// Retrieve some information about the first day of the
// month in question.
$dateComponents = getdate ( $firstDayOfMonth );
// What is the name of the month in question?
$monthName = $dateComponents [ 'month' ];
// What is the index value (0-6) of the first day of the
// month in question.
$dayOfWeek = $dateComponents [ 'wday' ];
// Create the table tag opener and day headers
$calendar = "<table class='calendar'>" ;
$calendar .= "<caption>$monthName $year</caption>" ;
$calendar .= "<tr>" ;
// Create the calendar headers
foreach ( $daysOfWeek as $day ) {
$calendar .= "<th class='header'>$day</th>" ;
}
// Create the rest of the calendar
// Initiate the day counter, starting with the 1st.
$currentDay = 1;
$calendar .= "</tr><tr>" ;
// The variable $dayOfWeek is used to
// ensure that the calendar
// display consists of exactly 7 columns.
if ( $dayOfWeek > 0) {
$calendar .= "<td colspan='$dayOfWeek'> </td>" ;
}
$month = str_pad ( $month , 2, "0" , STR_PAD_LEFT);
while ( $currentDay <= $numberDays ) {
// Seventh column (Saturday) reached. Start a new row.
if ( $dayOfWeek == 7) {
$dayOfWeek = 0;
$calendar .= "</tr><tr>" ;
}
$currentDayRel = str_pad ( $currentDay , 2, "0" , STR_PAD_LEFT);
$date = "$year-$month-$currentDayRel" ;
$calendar .= "<td class='day' rel='$date'>$currentDay</td>" ;
// Increment counters
$currentDay ++;
$dayOfWeek ++;
}
// Complete the row of the last week in month, if necessary
if ( $dayOfWeek != 7) {
$remainingDays = 7 - $dayOfWeek ;
$calendar .= "<td colspan='$remainingDays'> </td>" ;
}
$calendar .= "</tr>" ;
$calendar .= "</table>" ;
return $calendar ;
}
//调用方法
echo build_calendar(05,2016);
?>
|
运行结果如下图所示:
希望本文所述对大家PHP程序设计有所帮助。