改正之前:
$_lastMonthStart = date(‘Y-m-1 00:00:00‘, strtotime("-1 month"));
$_lastMonthEnd = date(‘Y-m-d H:i:s‘, strtotime(‘-1 sec‘, strtotime($_monthStart)));
$preMonthRange = [$_lastMonthStart, $_lastMonthEnd];
想要的结果:上一个月的开始和结束时间这一范围。 出现的问题描述:5月31号获取到的上一个时间居然是5月1到5月31!!!正确的应该是4月1到4月30 问题原因分析:问题出现在5.31这一天减去一个月不存在4.31,所以变成了5.1导致出错。 解决方法:在上面定义一个’标准时间‘,即本月的1号。 改正之后:
$standardTime = date(‘Y-m-1‘);
$_lastMonthStart = date(‘Y-m-1 00:00:00‘, strtotime("-1 month", strtotime($standardTime)));
$_lastMonthEnd = date(‘Y-m-d H:i:s‘, strtotime(‘-1 sec‘, strtotime($_monthStart)));
$preMonthRange = [$_lastMonthStart, $_lastMonthEnd]; 完美解决问题!
原文地址:https://www.cnblogs.com/liuqd001/p/9144413.html
时间: 2024-10-14 03:23:28