php获取自然周、自然月的处理


取得当前时间的上一周时间用date('Y-m-d', strtotime('-1 week'))没有问题,因为每周时间固定为7天。

如果当前日期为 2016-5-31 , 用 date('Y-m-d', strtotime('-1 month')) 会产生错误。因为这里把  -1 month 按照 -30 days 来算
date('Y-m-d', strtotime('2016-05-31 -1 month'))  =  2016-05-01
date('Y-m-d', strtotime('2016-01-31 +1 month'))  =  2016-03-02
如果需要取当前月的前后月份的话,需要小心,正确做法可以改为
date('m', strtotime(date('Y-m-1').' -1 month'))

date('m', strtotime(date('Y-m-1').' +1 month'))


echo date("Y-m-d",strtotime('-1 week last monday'))." 00:00:00";
echo date("Y-m-d",strtotime('last sunday'))." 23:59:59";


echo '<br>上周起始时间:<br>';
echo date("Y-m-d H:i:s",mktime(0, 0 , 0,date("m"),date("d")-date("w")+1-7,date("Y"))),"\n";
echo date("Y-m-d H:i:s",mktime(23,59,59,date("m"),date("d")-date("w")+7-7,date("Y"))),"\n";

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值