将字符串的格式模式更正为DateTime

时间:2016-11-30 13:40:51

标签: php datetime

我有一个类似于2016-11-29T14:04:07+00:00的字符串,任何人都可以提示我使用DateTime创建createFromFormat对象的正确格式我已尝试过一些选项但直到现在它们似乎都没有工作。

提前感谢您的帮助。

2 个答案:

答案 0 :(得分:2)

DateTime具有某些格式的预定义常量。您的日期遵循ISO 8601标准,其等效DateTime常量称为ATOM。所以试试:

$date = DateTime::createFromFormat(DateTime::ATOM, '2016-11-29T14:04:07+00:00');

请注意,还有一个名为ISO8601的常量 兼容,如documentation中所述:

  

此格式与ISO-8601不兼容,但出于向后兼容的原因,这种格式保留了这种格式。使用DateTime :: ATOM或DATE_ATOM来代替与ISO-8601的兼容性。

答案 1 :(得分:1)

正确的格式为“c”,ISO 8601日期格式:)