PHP DateTime :: createFromFormat()返回错误的年份

时间:2017-09-12 15:47:03

标签: php datetime

我正在尝试将特定格式的日期时间转换为其他格式,但由于某种原因,未来的年份是4年

$date = DateTime::createFromFormat('Y-m-d\TH:m:i.u\Z', '2015-08-30T07:56:28.000Z')->format('Y-m-d');

这回应了string(10) "2019-08-30"

我试过这个并正确输出

$date = new DateTime();
echo $date->format('Y-m-d');

可能导致年度错误的原因是什么?

1 个答案:

答案 0 :(得分:6)

$date = DateTime::createFromFormat('Y-m-d\TH:i:s.u\Z', '2015-08-30T07:56:28.000Z')->format('Y-m-d');

i用于分钟,s用于秒。 m已有好几个月了。因此,您的字符串被错误地解释。

要使用正确的格式字符,请参阅http://php.net/manual/en/datetime.createfromformat.php