Rumah  >  Artikel  >  pembangunan bahagian belakang  >  PHP如何创建日历

PHP如何创建日历

小云云
小云云asal
2018-03-17 10:01:331749semak imbas

本文主要和大家分享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教程

Atas ialah kandungan terperinci PHP如何创建日历. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn