我想知道是否有'正确'的方式来打电话:
$endDate = new DateTime('first day of next year');
我知道PHP解析器需要一个月之后
of
(see here),但next year
似乎有点像预期的那样。如果月份是5月份,则会将明年4月1日定为$endDate
。
当然,我们可以通过以下方式解决这个问题:
$endDate = new DateTime('first day of january');
$endDate->modify('+1 year');
但我无法想象,自从PHP 5.3在7年前推出以来,没有人能解决这个'错误'。
答案 0 :(得分:8)
它并不像你想要的那样明确(有没有1月不是第一个月的情况?),但这可以很好地回到PHP 5.2
$endDate = new DateTime('1st January Next Year');
echo $endDate->format('Y-m-d'); // 2017-01-01