DateTime返回错误的年份

时间:2015-09-30 08:23:20

标签: php datetime

我的代码如下:

<?php
$newDate = new DateTime('2012');
echo $newDate->format('Y');

为什么$newDate->format('Y')会返回2015(当年)而不是2012?

1 个答案:

答案 0 :(得分:1)

因为2012不是有效的日期字符串。默认情况下,设置到对象中的日期和时间将是当前的,即2015年。您可以提示您将使用DateTime::createFromFormat

的格式
$date = DateTime::createFromFormat('Y', '2012');
echo $date->format('Y');