PHP日期明年的第一天


PHP DateTime first day of next year

我想知道是否有一种"正确"的调用方式:

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

我知道PHP解析器预计一个月后of(请参阅此处),但next year似乎按预期工作。如果月份是5月,则会将明年的4月1日列为$endDate

当然,我们可以用破解这个问题

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

但我无法想象,自从7年前PHP 5.3问世以来,没有人会修复这个"错误"。

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

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

https://3v4l.org/H5P8s