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获取上一个月的开始与结束时间遇到的问题的主要内容,如果未能解决你的问题,请参考以下文章

PHP怎么获得一天,一周,一个月的起始和结束的时间戳??求高人指点

小程序如何获取下个月的起始时间与结束时间

momentjs获取上周上月前三个月的起始和结束时间--直接copy结尾代码

代码片--实现一个简单的模版方法设计模式(获取一段程序运行的时间)

php怎么获取本周的时间格式开始和结束

如何在VB中获取上个月的开始和结束