Невозможно проанализировать даты ISO 8601 в PHP 4, используя strtotime - PullRequest
1 голос
/ 23 февраля 2012

Я пытаюсь проанализировать следующую ISO 8601 дату в PHP 4 с помощью функции strtotime :

2012-02-01T00:00:00.000Z

Однако это возвращает -1.Почему и что я могу сделать, чтобы обойти это?

К сожалению, я застрял на PHP 4.3.10 и поэтому не могу использовать какие-либо более новые функции для разбора дат.

Ответы [ 2 ]

1 голос
/ 27 июня 2013

Это работает для меня:

$iso = '2013-06-25T15:16:13.000Z';
$d = str_replace('T', ' ', $iso);
$d = substr($d, 0, 19);
$ts = strtotime($d);

$isIso =  (strlen($iso) == 24 && substr($iso, 10, 1) === "T" && substr($iso, 19, 1) === "." && substr($iso, 23, 1) === "Z");
1 голос
/ 23 февраля 2012

Попробуйте это:

strtotime(str_replace('T', ' ', $date));
...