我正在尝试将特定格式的日期时间转换为其他格式,但由于某种原因,未来的年份是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');
可能导致年度错误的原因是什么?
答案 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