PHP 31号取前几个月日期的BUG

这篇博客讨论了一个关于PHP内置函数strtotime()在处理31号日期时可能出现的问题。当试图获取3个月前和4个月前的1号日期,31号的当前月份会导致相同结果。解决方案是直接设置日期为每月的第一天,从而避免该Bug。文章提醒开发者注意此类特定情况,确保代码的健壮性。

有些人,只会在特定的时光出现。
就像这个Bug
$now=date("Y-m-d");
$BeginDate=date('Y-m-01', strtotime("$now -3 month"));
$BeginDate=date('Y-m-01', strtotime("$now -4 month"));
31号这天,3个月前和4个月前返回结果一样。

意思是我要取3个月前的1号的日期

和取4个月前的1号的日期

结果是一样的

是PHP自带的strtotime()对于31日求上N个月有问题


解决方案
$now=date("Y-m-01");

所以说有些Bug,也只会出现在特定的时光

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值