Перейти к основному содержимому

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

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

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

Вы можете настроить часовой пояс на уровне сессии или глобальный часовой пояс для вашего кластера 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_zoneAsia/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.