关于计算当前同比日期
如果业务中有这样的需求,你可能很快就会想到,代码也许这样写:
echo date('Ymd',strtotime('20180907 -1 month'));
//output:...20180807
上面确实眼下工作的很好,但是可能会有些坑,比如可以试试这样:
echo date('Ymd',strtotime('20180331 -1 month'));
//output: 20180303...当前很多人发现了这个问题,有兴趣可以看下专家解惑:
令人困惑的strtotime
引用下关键点就是date内部变化导致的结果:
先做-1 month, 那么当前是07-31, 减去一以后就是06-31...= mktime(date("G", $time), date("i", $time),
date("s", $time), date("n", $time), 0,...引用自 https://yq.aliyun.com/ziliao/11301
我们一起分析下这段代码意思吧
1.获取上个月最后一天时间戳
$last_month_time = mktime(date("G"