PHP конвертировать дату из EEST в UT C возвращает неверное время на один час - PullRequest
0 голосов
/ 19 марта 2020

My PHP неправильно конвертирует дату, ответ выключен на один час, я думаю, проблема в том, что PHP думает, что Европа / Вильнюс в это время EEST в это время, что должно означать UTC + 3, но это на самом деле UTC + 2 в это время. Любая помощь, как решить эту проблему будет высоко ценится. Удачного дня!

Мой код:

$timezone = new DateTimeZone('Europe/Vilnius');
$UTCtimezone = new DateTimeZone('UTC');
$UTC_time = new DateTime($raw_date, $timezone); --> $raw_date is '2020-04-18 13:48:22'

В это время дата читается = 2020-04-18 13:50:05 EEST, что является правильным, за исключением бита EEST.

$UTC_time->setTimezone($UTCtimezone);

В это время указывается дата 2020-04-18 10:50:05 UT C, что сейчас неверно, поскольку время UT C сейчас должно быть 2020-04-18 11:50 : 05

Множество очков кармы для всех, у кого есть предложения!

1 Ответ

3 голосов
/ 19 марта 2020

Европа / Вильнюс сейчас использует EET (восточноевропейское время) (2020-03-19), то есть UTC + 2. В 2020-03-29 Европа / Вильнюс изменится на летнее время EEST (восточноевропейское летнее время), то есть UTC + 3. Дата вашего примера 2020-04-18 - после этого изменения, так что это будет на 3 часа раньше UT C. Попробуйте сегодняшнюю дату и тот же код должен показать разницу в 2 часа между Европой / Вильнюсом и UT C.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...