Перейти к основному содержимому
Версия: 1.5.x

Настройка часового пояса

В этой теме описывается, как настроить часовой пояс и влияние настроек часового пояса.

Настройка часового пояса на уровне сессии или глобального часового пояса​

Вы можете настроить часовой пояс на уровне сессии или глобальный часовой пояс для вашего кластера Selena, используя параметр time_zone.

  • Для настройки часового пояса на уровне сессии выполните команду SET time_zone = 'xxx';. Вы можете настроить разные часовые пояса для разных сессий. Настройка часового пояса становится недействительной при отключении от FE.
  • Для настройки глобального часового пояса выполните команду SET global time_zone = 'xxx';. Настройка часового пояса сохраняется в FE и остается действительной даже при отключении от FE.

Примечание

Перед загрузкой данных в Selena измените глобальный часовой пояс вашего кластера Selena на то же значение, что и параметр system_time_zone. В противном случае после загрузки данных данные типа DATE будут неверными. Параметр system_time_zone относится к часовому поясу машин, которые используются для размещения FE. При запуске машин часовой пояс машин записывается как значение этого параметра. Вы не можете настроить этот параметр вручную.

Формат часового пояса​

Значение параметра time_zone не чувствительно к регистру. Значение параметра может быть в одном из следующих форматов.

ФорматПример
Смещение UTCSET time_zone = '+10:00'; SET global time_zone = '-6:00';
Название часового поясаSET time_zone = 'Asia/Shanghai'; SET global time_zone = 'America/Los_Angeles';

Для получения дополнительной информации о формате часового пояса см. Список часовых поясов базы данных tz.

Примечание

Аббревиатуры часовых поясов не поддерживаются, за исключением CST. Если вы установите значение time_zone в CST, Selena преобразует CST в Asia/Shanghai.

Часовой пояс по умолчанию​

Значение по умолчанию параметра time_zone — Asia/Shanghai.

Просмотр настроек часового пояса​

Для просмотра настройки часового пояса выполните следующую команду.

 SHOW VARIABLES LIKE '%time_zone%';

Влияние настроек часового пояса​

  • Настройки часового пояса влияют на значения времени, возвращаемые операторами SHOW LOAD и SHOW BACKENDS. Однако настройки не влияют на значение, указанное в предложении LESS THAN, когда столбцы разделения, указанные в операторе CREATE TABLE, имеют тип DATE или DATETIME. Настройки также не влияют на данные типов DATE и DATETIME.
  • Настройки часового пояса влияют на отображение и хранение следующих функций:
    • from_unixtime: возвращает дату и время указанного часового пояса на основе указанной временной метки UTC. Например, если глобальный часовой пояс вашего кластера Selena — Asia/Shanghai, select FROM_UNIXTIME(0); возвращает 1970-01-01 08:00:00.
    • unix_timestamp: возвращает временную метку UTC на основе даты и времени указанного часового пояса. Например, если глобальный часовой пояс вашего кластера Selena — Asia/Shanghai, select UNIX_TIMESTAMP('1970-01-01 08:00:00'); возвращает 0.
    • curtime: возвращает текущее время указанного часового пояса. Например, если текущее время указанного часового пояса — 16:34:05, select CURTIME(); возвращает 16:34:05.
    • now: возвращает текущую дату и время указанного часового пояса. Например, если текущая дата и время указанного часового пояса — 2021-02-11 16:34:13, select NOW(); возвращает 2021-02-11 16:34:13.
    • convert_tz: преобразует дату и время из одного часового пояса в другой. Например, select CONVERT_TZ('2021-08-01 11:11:11', 'Asia/Shanghai', 'America/Los_Angeles'); возвращает 2021-07-31 20:11:11.