这都是些什么鬼,如果当前月比上一个月多,在多余的日子里去取上个月同期,会有问题。
?...当前很多人发现了这个问题,有兴趣可以看下专家解惑:
令人困惑的strtotime
引用下关键点就是date内部变化导致的结果:
先做-1 month, 那么当前是07-31, 减去一以后就是06-31...引用自 https://yq.aliyun.com/ziliao/11301
我们一起分析下这段代码意思吧
1.获取上个月最后一天时间戳
$last_month_time = mktime(date("...", $time),
date("s", $time), date("n", $time), 0, date("Y", $time));
mktime返回一个uninx时间戳...,顺序是 时分秒 月日年
如果传递time为20180301时间戳返回为20180228的时间戳,注意我们月份此处传递为0
2.是否为最后一天
$last_month_t = date("t", $last_month_time