PHP解析ISO格式的日期

时间:2013-02-13 08:37:22

标签: php datetime

我目前正在使用ConstantContact,它返回带有更新字段的XML,格式如下:

2013-02-13T08:35:34.195Z

我假设这是日期('c')格式。如何解析这种格式? strtotime 未返回正确的值。

1 个答案:

答案 0 :(得分:16)

您可能需要查看DateTime::createFromFormat()功能。

$datetime = DateTime::createFromFormat('Y-m-d\TH:i:s+', '2013-02-13T08:35:34.195Z');

问题在于你将失去毫秒。

格式字符串中的+符号只是告诉此函数忽略字符串的其余部分而不是创建错误。

在PHP7.2中确认。如下面的评论所示,您可以使用Y-m-d\TH:i:s.u\Z来匹配toISOString给出的确切Js字符串。