php做个自定义限制日历,PHP开发之制作简单日历生成日历的各个边界值

f5397147861e993e422bbe2f0f6ddbf4.png

自定义函数threshold方法,生成日历的各个边界值

1)计算这个月总天数

2)计算这个月第一天与最后一天,各是星期几

3)计算日历中的第一个日期与最后一个日期<?php

function threshold($year, $month) {

$firstDay = mktime(0, 0, 0, $month, 1, $year);

$lastDay = strtotime('+1 month -1 day', $firstDay);

//取得天数

$days = date("t", $firstDay);

//取得第一天是星期几

$firstDayOfWeek = date("N", $firstDay);

//获得最后一天是星期几

$lastDayOfWeek = date('N', $lastDay);

//上一个月最后一天

$lastMonthDate = strtotime('-1 day', $firstDay);

$lastMonthOfLastDay = date('d', $lastMonthDate);

//下一个月第一天

$nextMonthDate = strtotime('+1 day', $lastDay);

$nextMonthOfFirstDay = strtotime('+1 day', $lastDay);

//日历的第一个日期

if($firstDayOfWeek == 7){

$firstDate = $firstDay;

}else{

$firstDate = strtotime('-' . $firstDayOfWeek . ' day', $firstDay);

}

//日历的最后一个日期

if($lastDayOfWeek == 6){

$lastDate = $lastDay;

}elseif($lastDayOfWeek == 7){

$lastDate = strtotime('+6 day', $lastDay);

}else{

$lastDate = strtotime('+' . (6 - $lastDayOfWeek) . ' day', $lastDay);

}

return array(

'days' => $days,

'firstDayOfWeek' => $firstDayOfWeek,

'lastDayOfWeek' => $lastDayOfWeek,

'lastMonthOfLastDay' => $lastMonthOfLastDay,

'firstDate' => $firstDate,

'lastDate' => $lastDate,

'year' => $year,

'month' => $month

);

}

?>

注释:

mktime() 函数返回日期的 UNIX 时间戳。

strtotime() 函数将任何英文文本的日期或时间描述解析为 Unix 时间戳(自 January 1 1970 00:00:00 GMT 起的秒数)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值