php教程

超轻量级php框架startmvc

PHP简单创建日历的方法

更新时间:2020-03-09 00:48:59 作者:startmvc
本文实例讲述了PHP简单创建日历的方法。分享给大家供大家参考,具体如下:<?phpfuncti

本文实例讲述了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);
?>

运行结果如下图所示:

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

在线万年历日历

网页万年历日历

在线万年历黄历flash版

PHP 创建日历