php获取上一个月的开始与结束时间遇到的问题

Posted liuqd001

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php获取上一个月的开始与结束时间遇到的问题相关的知识,希望对你有一定的参考价值。

 

 改正之前:

$_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];

完美解决问题!

以上是关于php获取上一个月的开始与结束时间遇到的问题的主要内容,如果未能解决你的问题,请参考以下文章