今天发现一个很奇怪的问题,获取上个月1号数据用 strtotime("-1 month") 这个方式,结果不是上个月数据。
之前2个月都好好的,怎么突然就出问题了呢,后来测试发现这个函数是减去30天而已,正好今天31号,所以发现数据是本月1号,我也是醉了,不知道是不是可以设置别的方式解决这个问题,我只能换了一个写法:
$y = date('Y');
$m = date('m');
$lm = date('m') - 1;
if($m == 1){
$lm = 12;
$y = $y - 1;
}
$time0 = strtotime("$y-1-1"); //本年第一天
$time1 = strtotime("$y-$lm-1"); //上月1号
$time2 = strtotime("$y-$m-1"); //当月1号