Почему часовые пояса — это сложно
Пояс — это не смещение. Europe/Belgrade — это UTC+1 зимой и UTC+2 летом, а даты перехода отличаются от дат America/New_York, поэтому разница между двумя городами составляет 6 часов большую часть года, 5 часов в течение двух недель в марте и 7 часов в течение недели в ноябре. Некоторые пояса меняли правила неоднократно (Мексика отменила летнее время в 2022 году, Египет вновь ввёл его в 2023-м), поэтому программы должны использовать базу данных IANA tz с её историей, а не таблицу фиксированных смещений. Эта страница использует копию этой базы в браузере через Intl.DateTimeFormat.
Как читать результаты
В каждой строке показано местное время на часах, действующее на эту дату смещение UTC, аббревиатура пояса (CEST, EDT, JST…) и действует ли летнее время. Отметка ±1 день сообщает, когда местная дата отличается от базовой — именно поэтому «вторник 09:00» в Сиднее для Европы оказывается звонком в понедельник вечером.
Планирование в разных поясах
- Выбирайте время в поясе того, кто реже всех переезжает, или в UTC, и указывайте пояс в приглашении.
- Используйте сетку: колонка, зелёная или янтарная во всех строках, — подходящий слот. Для трёх поясов, охватывающих Европу, западное побережье США и Восточную Азию, такого обычно нет; тогда кто-то по очереди берёт раннее или позднее время.
- Избегайте двух недель каждой весной и осенью, когда Европа и Северная Америка не синхронны; регулярные встречи сдвигаются на час для одной из сторон.
- Храните метки времени в UTC; переводите при отображении. Будущие встречи храните как местное время плюс пояс, потому что правила могут измениться до наступления даты.
Вопросы
В чём разница между CET и Europe/Belgrade?
CET — это аббревиатура фиксированного смещения (UTC+1), неоднозначная летом, когда те же места используют CEST. Europe/Belgrade — это пояс IANA с полной историей правил. В программах всегда используйте имя пояса.
Почему разница во времени непостоянна?
Потому что два пояса переходят на летнее время в разные даты, или один из них не переходит вовсе. Планировщик пересчитывает смещение для точной даты, которую вы вводите.
Какое время указывать в приглашении?
Время в поясе получателя с именем пояса или время в UTC. Календарные приглашения несут в себе пояс, поэтому календарь получателя переводит время автоматически; текстовые сообщения — нет.
Обрабатывает ли конвертер исторические даты?
Да, насколько позволяют данные tz в браузере, которые покрывают изменения правил начиная с 1970-х, а часто и раньше. Для будущих дат используются опубликованные сейчас правила; правительства меняют их без долгого предупреждения.