MySQL CONVERT_TZ ()

Я пытаюсь настроить базу данных, которая хранит ежедневные аварийные времена, как указано пользователями. Например, пользователь хочет получить предупреждение, если некоторому критерию соответствуют каждый день между 7:00 и 7:30. В попытке реализовать это, я должен разместить летнее время. Вот мое предпринятое решение:

  1. Сохраните пользовательскую зону местного времени (в подробной форме, например, "американский/восточный") информация в одной таблице (скажите, что userInfo), и времена аварийного сигнала в другой таблице (говорят что userAlarms).
  2. При запросах userAlarms таблицы преобразуйте время UTC в пользовательское местное время, как указано tz столбцом, сохраненным в userInfo таблице через CONVERT_TZ(UTC_TIME(), 'UTC', userInfo.tz).

Вопрос 1. От моего понимания, указывая название часового пояса (как американский/восточный) должен принять летнее время во внимание. Например, вызов CONVERT_TZ('00:00:00', 'UTC', 'US/EASTERN') 1 января должен привести к '19:00:00', но 1 июля вызов должен привести к '20:00:00'. Я корректен?

Вопрос 2. Если Q1 корректен, я должен постоянно обновлять таблицу часового пояса MySQL, чтобы усовершенствовать часовой пояс смещения UTC?

Вопрос 3. Образец дан в документации MySQL SELECT CONVERT_TZ('2004-01-01 12:00:00','GMT','MET') урожаи"NULL"при выполнении на моем сервере. Это могло быть вызвано, не имея установку таблиц часового пояса?

Как я могу проверить это?

39
задан codeforester 13 December 2018 в 23:34
поделиться