PHP创建日历

这段PHP代码展示了如何创建一个美式日历,通过指定年份和月份,计算出该月的第一天是星期几,然后用二维数组模拟日历布局,并用HTML表格展示出来。代码中包含了获取指定月份天数、初始化日期计数器以及遍历和填充日历格子的过程。
摘要由CSDN通过智能技术生成
<?php
/*
 * 美式日历
 */
//指定日期
$year = 2017;
$month = 10;
//获取时间戳
$firstDayInt = mktime(0,0,0,$month,1,$year);
//获取指定月份天数
$dayInMouth = date('t',$firstDayInt);
//获取初始时间为星期几
$firstDay = date('w',$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 && $
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值