Я думал, что если вы передали MySQL временную метку Epoch (как длинную) и использовали FROM_UNIXTIME()
, чтобы получить ее как сопоставимую дату, что часовой пояс сервера не имеет значения. Но он (по крайней мере, в нашей настройке) нуждается в конкретной конфигурации?).Почему часовой пояс сервера влияет на чтение MySQL периодов FROM_UNIXTIME?
Использование MySQL Version: MySQL Ver 14,14 DISTRIB 5.5.48-37.8 для Linux (x86_64) с помощью Readline 5.1
я начинаю с моего сервера, установленного в UTC.
При запуске запроса, такие как:
SELECT COUNT(*) FROM Orders
WHERE startTime BETWEEN FROM_UNIXTIME(1486509895) AND FROM_UNIXTIME(1486596296);
Я получаю 127 заказов.
затем переключить свой часовой пояс, чтобы быть EST:
sudo mv /etc/localtime /etc/localtime.bak
sudo ln -s /usr/share/zoneinfo/America/New_York /etc/localtime
sudo service mysql3306 restart
Я затем запустить запрос снова, и на этот раз я получаю 196 заказов!
Почему часовой пояс моего сервера влияет на него? Эпохи не должны быть затронуты этим.