PHP DateTime明年的第一天

时间:2016-05-12 15:06:59

标签: php parsing datetime

我想知道是否有'正确'的方式来打电话:

$endDate = new DateTime('first day of next year');

我知道PHP解析器需要一个月之后 ofsee here),但next year似乎有点像预期的那样。如果月份是5月份,则会将明年4月1日定为$endDate

当然,我们可以通过以下方式解决这个问题:

$endDate = new DateTime('first day of january');
$endDate->modify('+1 year');

但我无法想象,自从PHP 5.3在7年前推出以来,没有人能解决这个'错误'。

1 个答案:

答案 0 :(得分:8)

它并不像你想要的那样明确(有没有1月不是第一个月的情况?),但这可以很好地回到PHP 5.2

$endDate = new DateTime('1st January Next Year');
echo $endDate->format('Y-m-d'); // 2017-01-01

https://3v4l.org/H5P8s