分答项目_技能点:计算时间段

一、常用日期函数
time返回当前时间戳
mktime 取得一个日期的 Unix 时间戳
strtotime:将字符串转换成时间戳;
date函数的参数变化无穷,功能很强大参数很多比如:date(‘w’)函数的返回值: 0(表示星期天)到 6(表示星期六)

二、计算本周开始结束日期
周日为本周开始,date(‘w’)函数的返回值0;周六为本周结束,date(‘w’)函数的返回值6
开始:date(‘d’)-date(‘w’) +0本周开始日期
结束:date(‘d’)-date(‘w’) + 6 本周结束日期

另外一种设计方案:把周一作为本周开始,周日为本周结束
开始:date(‘d’)-date(‘w’) + 1本周开始日期
结束:date(‘d’)-date(‘w’) + 7 本周结束日期
这样设计有问题:如果当前日期在周一到周六范围内容是正确的;如果当天为周日,上面的开始和结束日期是下一周的范围开始结束范围,实际情况是应该计算本周时间范围,因为周日为本周的最后一天。所有必须单独处理周日的情况。

三、计算时间段
1、当天(截止到当前时间)

$start_time = strtotime(date('Y-m-d',time()));
$end_time = time();

2、本周

$start_time = strtotime(date("Y-m-d H:i:s",mktime(0,0,0,  date("m"),date("d")-date("w"),date("Y"))));
$end_time = strtotime(date("Y-m-d H:i:s",mktime(23,59,59, date("m"),date("d")-date("w")+6,date("Y"))));

3、本月

$start_time = strtotime(date("Y-m-d H:i:s",mktime(0, 0 , 0,date("m"),1            ,date("Y"))));
$end_time = strtotime(date("Y-m-d H:i:s"  ,mktime(23,59,59,date("m"), date("t"),date("Y"))));
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值