首页 > Web开发 > 详细

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

时间:2021-09-10 01:23:13      阅读:44      评论:0      收藏:0      [点我收藏+]

项目中需要循环获取前几个月,但是前几天还好好的,今天突然发现错误,直接上代码(当前日期: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 获取上个月月份踩坑

原文:https://www.cnblogs.com/Noble-zeng/p/15246401.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!