Похоже, у меня случай с понедельника утром !!!
Как вы можете, мой локальный компьютер находится в восточном часовом поясе, и действует дневной свет. Это видно из команды «дата» ниже.
date ; php -r 'echo mktime() .PHP_EOL ;'
Mon Apr 18 11:14:29 EDT 2016
1460992469
Затем я сгенерировал метку времени Unix, используя php. Предполагается указать текущее время и преобразовать его в эпоху Unix в UTC 0: 0: 0 1 января 1970 года.
Мой сеанс mysql настроен на UTC, который я представляю 1460992469, поскольку он преобразуется в UTC с помощью mktime.
Беда в том, что преобразование обратно в est не распознает переход на летнее время. Может ли кто-нибудь помочь указать на ошибку в моей логике.
SELECT CONVERT_TZ(FROM_UNIXTIME(1460992469), @@session.time_zone ,'EST') as converted_to_est , FROM_UNIXTIME(1460992469) , @@session.time_zone;
+---------------------+---------------------------+---------------------+
| converted_to_est | FROM_UNIXTIME(1460992469) | @@session.time_zone |
+---------------------+---------------------------+---------------------+
| 2016-04-18 10:14:29 | 2016-04-18 15:14:29 | UTC |
+---------------------+---------------------------+---------------------+
Я пытался использовать ‘EDT’ в CONVERT_TZ, но безрезультатно.
Не использовать 'EST'
, использование 'America/New_York'
(при условии, что США).
Других решений пока нет …