PHP教程

PHP strtotime -1 month 获取上个月月份踩坑

本文主要是介绍PHP strtotime -1 month 获取上个月月份踩坑,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

项目中需要循环获取前几个月,但是前几天还好好的,今天突然发现错误,直接上代码(当前日期:2020-12-31)

 

 

为什么呢今天不行了呢?打印 $i 也是正常的,查阅资料之后发现当获取上个月的日期时 直接使用 date('Ym', strtotime("-1 month") 是有坑的:

当上一个月或者下一个月没有今天的日时,会输出错误,比如今天是12月31号,但是11月份没有31号,此时date('Y-m-d',strtotime("-1 month")); 输出的结果就是 2020-12-01

同理,当在3月31号/5月31号/7月31号/10月31号/12月31号执行date('Y-m-d',strtotime("-1 month"))时,得到的结果是 3月1号/5月1号//7月1号/10月1号/12月1号。

如何正确的获取上一个月份?
因为每月都有1号,如果需要获取上一个月的月份,可以使用以下的方式获取:

date('Ym', strtotime(date('Y-m-01') . " - 1 month"));


 

 

同样如果获取上个月的第一天  date('Y-m-01', strtotime(date('Y-m-01') . " - 1 month")); 而不能简单使用 date('Y-m-01', strtotime("-1 month"));

请各位小伙伴避免采坑~

 

 

原文地址:https://blog.csdn.net/weixin_44743841/article/details/112006791

这篇关于PHP strtotime -1 month 获取上个月月份踩坑的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!