本文实例讲述了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程序设计有所帮助。