PHP $ date- & gt; формат (DateTime :: ISO8601), возвращающий другое смещение часового пояса

Хорошо, я в тупике. Вот два объекта даты, которые у меня есть:

// $startDate value
DateTime::__set_state(array(
'date' => '2017-11-05 00:00:00.000000',
'timezone_type' => 3,
'timezone' => 'America/Chicago',
))

// $endDate value
DateTime::__set_state(array(
'date' => '2017-11-05 23:59:00.000000',
'timezone_type' => 3,
'timezone' => 'America/Chicago',
))

Они оба имеют одинаковую информацию о часовом поясе. Однако когда я бегу $startDate->format(DateTime::ISO8601) а также $endDate->format(DateTime::ISO8601) Я получаю разные смещения часового пояса.

// $startDate->format(DateTime::ISO8601)
2017-11-05T00:00:00-0500

// $endDate->format(DateTime::ISO8601)
2017-11-05T23:59:00-0600

Любая идея относительно того, что может быть причиной этого?

0

Решение

-0500 а также -0600 в DateTime::ISO8601 Формат не часовые пояса, а смещения от UTC.

Начиная с 2:00 воскресенья, 12 марта 2017 года, смещение составляет -6: 00 от UTC. В 2 часа ночи воскресенье, 5 ноября 2017 года, летнее время будет выключено. С тех пор смещение будет на 1 час меньше до следующего перехода на летнее время.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]