Некоторые способы обработки временных зон при работе с датами в MySQL:
- Автоматическое преобразование. 2 При вставке данных поля TIMESTAMP преобразуются в UTC из текущего часового пояса, а при извлечении — обратно из UTC в выбранный часовой пояс. 2 По умолчанию используется часовой пояс, установленный на хост-машине, обычно это UTC. 2
- Настройка часового пояса через переменные. 5 Можно установить часовой пояс для конкретного пользователя через консоль, используя команду SET time_zone = '+02:00';. 5 Чтобы изменения сохранялись после перезагрузки и применялись ко всему серверу баз данных, используют глобальную переменную. 5
- Настройка часового пояса в конфигурационном файле. 5 Например, можно установить часовой пояс, добавив в секцию [mysqld] строку default-time-zone='+02:00'. 5 Поддерживаются также другие значения: 'SYSTEM' — часовой пояс сервера совпадает с системным часовым поясом, именованный часовой пояс, например, 'Europe/Moscow'. 5
- Преобразование сохранённых значений DATE или DATETIME в другой часовой пояс. 3 Для этого используют функцию CONVERT_TZ(). 3
Также для работы с временными зонами в MySQL доступны функции TIMEDIFF(), TIME_FORMAT(), ADDDATE() и SUBDATE(). 1