Когда я пытаюсь форматировать дату из одного часового пояса в тот же часовой пояс, я получаю неправильное время (разное на 1 час). Мой код:Почему PHP IntlDateFormatter возвращает неверную дату? +1 час
$formatter = new IntlDateFormatter(
'ru_RU',
IntlDateFormatter::FULL,
IntlDateFormatter::FULL,
'Europe/Moscow'
);
$date = new DateTime("2015-07-29 14:00:00", new DateTimeZone('Europe/Moscow'));
echo $formatter->format($date);
Ожидаемое время 14:00
, но 15:00
возвращается.
ОБНОВЛЕНИЕ: Когда я показываю 2013 или 2014 год, все в порядке! Что произойдет в 2015 году?
UPDATE2: +1 час добавлено с 26 октября 2014 года. Время, когда Россия переходит на вечное зимнее время. ОК. Но ... как правильно отформатировать?
Что делает 'var_dump ($ date);' give? Я не могу запустить его сам прямо сейчас. – alexn
@alexn, класс 'DateTime # 2 (3) { общественная дата $ => строка (19) "2015-07-29 14:00:00" публика $ timezone_type => Int (3) общественности $ часовой пояс => строка (13) «Европа/Москва» } ' – psylosss