gpt4 book ai didi

php - `strtotime` 从 1 月起使用 + 1 个月时出现错误

转载 作者:可可西里 更新时间:2023-11-01 00:21:37 26 4
gpt4 key购买 nike

我正在尝试为之前输入的日期范围制作一个包含多个选项卡的 ajax 日历。但例如:

我想要下个月,它打印三月而不是二月

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

我认为那是因为 2014 年 2 月是 28 并且从开始月份开始添加 +31,但为什么呢?

最佳答案

您正在尝试将日期 2013-01-31 添加一个月。它应该给出 2013 年 2 月 31 日,但由于该日期不存在,它移动到下一个有效月份(即三月)。

您可以使用以下解决方法:

$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 - `strtotime` 从 1 月起使用 + 1 个月时出现错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19727274/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com