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

Pet*_*fin 1 php datetime

我试图将特定格式的日期时间转换为另一种格式,但出于某种原因,未来的年份是4年

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

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

我试过这个,输出正确

$date = new DateTime();
echo $date->format('Y-m-d');
Run Code Online (Sandbox Code Playgroud)

什么可能导致年度错误?

ADy*_*son 6

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

i用于分钟和s秒.m是几个月.因此,您的字符串被错误地解释.

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