php – 从1月份开始使用1个月时的`strtotime`错误

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了php – 从1月份开始使用1个月时的`strtotime`错误脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试制作一个带有多个标签的ajax日历,用于之前输入的日期范围.
但是例如:

我想要下个月,它打印行军而不是2月

$start= "2013-01-31";
$current =  date('n',strtotime("+1 month",$start)) //PRints 3

我认为这是因为2014年2月是28并且从开始月份开始增加31个基数,但为什么呢?

解决方法

您正试图将一个月@L_777_7@到2013-01-31的日期.它应该给2013年2月31日,但由于日期不存在,它将进入下一个有效月份(即3月).

您可以使用以下解决方法

$current = date('n',strtotime("First day of next month",strtotime($start)));

使用DateTime类:

$date = new DateTime('2013-01-31');
$date->;modify('first day of next month');
echo $date->format('n');

这将正确输出2.

Demo!

脚本宝典总结

以上是脚本宝典为你收集整理的php – 从1月份开始使用1个月时的`strtotime`错误全部内容,希望文章能够帮你解决php – 从1月份开始使用1个月时的`strtotime`错误所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。