如何使用PHP创建日历?

如何使用PHP创建日历?

本文实例讲述了PHP简单创建日历的方法。分享给大家供大家参考,具体如下:

<?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创建日历?

关于在线显示日期还可参考本站在线工具:

在线万年历日历

网页万年历日历

在线万年历黄历flash版

希望本文所述对大家PHP程序设计有所帮助。