PHP创建日历

<?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 && $
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值