首頁  >  文章  >  後端開發  >  PHP如何建立日曆

PHP如何建立日曆

小云云
小云云原創
2018-03-17 10:01:331765瀏覽

本文主要和大家分享PHP如何建立行事曆,主要和大家分享了PHP建立行事曆的程式碼,希望能幫助大家。

<?php
/*
 * 美式日历
 */
//指定日期
$year = 2017;
$month = 10;
//获取时间戳
$firstDayInt = mktime(0,0,0,$month,1,$year);
//获取指定月份天数
$dayInMouth = date(&#39;t&#39;,$firstDayInt);
//获取初始时间为星期几
$firstDay = date(&#39;w&#39;,$firstDayInt); //星期日(0) -> 星期六(6)
//日历行(周)数
$tmpDays = $dayInMouth + $firstDay;
$weeks = ceil($tmpDays/7);  //向上取整
/*
 * 使用二维数组模拟日历,一维为周数,二维为星期数
 * 二维数组[周数][星期数]
 */
$days = [];
//日期计数器
$day_tmp = 0;
for ($i = 0;$i < $weeks;$i ++) {    //0,1,2,3,4 单位:行
    for ($j = 0; $j < 7; $j ++) {   //0,1,2,3,4,5,6 单位:星期数值
/*
 * 判断条件:
 * 1.首行未填充星期数的日期为空值。当$j == $firstDay时,该月初始日期为星期日
 * 2.因周周循环,日期递增,上述函数式值只适用于$i == 0时
 * 3.日期数大于月天数时,在不满足$j变量范围之前,末行填充的日期数为空值
 */
        if(($i == 0 && $j >= $firstDay) || $i > 0 && $day_tmp < $dayInMouth) {
//          日期+1
            $day_tmp ++;
//          例:[第一行][首位] = 1(号)
            $days[$i][$j] = $day_tmp;
        } else {
            $days[$i][$j] = &#39;&#39;; //空值
        }
    }
}
?>
<table border="1" width="500">
    <tr>
        <th colspan="7"><?php echo $year,&#39;年&#39;,$month,&#39;月&#39;; ?></th>
    </tr>
    <tr>
        <th>星期日</th>
        <th>星期一</th>
        <th>星期二</th>
        <th>星期三</th>
        <th>星期四</th>
        <th>星期五</th>
        <th>星期六</th>
    </tr>
<!--    遍历二维数组-->
    <?php
//      遍历日历
        foreach ($days as $week => $weekDays) {
            echo &#39;<tr>&#39;;
//          遍历行日期
            foreach ($weekDays as $day) {
                echo &#39;<td>&#39;,$day,&#39;</td>&#39;;
            }
            echo &#39;</tr>&#39;;
        }
    ?>
</table>

相關推薦:

PHP簡單建立行事曆的方法,php建立行事曆_PHP教學

以上是PHP如何建立日曆的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn