Как мне написать формат даты для 2011-08-16T23: 20: 30.000Z в PHP? - PullRequest
0 голосов
/ 17 августа 2011

У меня есть даты в следующем формате: 2011-08-16T23: 20: 30.000Z

Я пытаюсь сделать что-то вроде этого:

$dt = DateTime::createFromFormat('Y-m-d\TH:i:s.u',$issue->updated);

У меня две проблемы:

  1. Я знаю, что Z для UTC, но заполнители часового пояса в PHP документах не совпадают с Z
  2. Как сделатьЯ избегаю только Т, но не Н?Экранирующий комментарий в PHP-документе для даты создает впечатление, что косая черта будет экранировать все символы до пробела.

1 Ответ

4 голосов
/ 17 августа 2011

Это выглядит как ISO 8601 формат, и вы можете передать его прямо в конструктор, например:

var_dump(new DateTime("2011-08-16T23:20:30.000Z"));

...

object(DateTime)#1 (3) {
  ["date"]=>
  string(19) "2011-08-16 23:20:30"
  ["timezone_type"]=>
  int(2)
  ["timezone"]=>
  string(1) "Z"
}
...