Часовые пояса: как переводить и сравнивать время по всему миру
Как на самом деле работают часовые пояса и летнее время, плюс быстрый способ выбрать время встречи, удобное для людей из трёх разных стран.
Однажды я назначил звонок на 15:00, а человек пришёл в три часа ночи. Одного раза хватает, чтобы начать бояться часовых поясов навсегда. Если вы работаете с кем-то дальше пары границ, конвертер часовых поясов — из тех мелочей, которые открываешь по два-три раза в день.
На чём все спотыкаются
Часовой пояс — это не фиксированное число. Во многих странах это правило, которое меняется дважды в год.
Возьмём Лондон и Нью-Йорк. Большую часть года между ними пять часов. Но США и Великобритания переходят на летнее время в разные выходные: США переводят часы во второе воскресенье марта, ЕС и Британия — в последнее. И вот эти две-три недели между переходами Лондон и Нью-Йорк разделяют всего четыре часа. Каждый март кто-нибудь пропускает звонок из-за этого зазора — и винит себя, а не календарь.
Отдельная ловушка для нас: в России часы не переводят с 2011 года. У себя про летнее время можно забыть, но у партнёров в Европе и США оно никуда не делось, и дважды в год разница с ними сдвигается на час.
Поэтому «просто прибавь пять часов» не работает. Переводить нужно на конкретную дату, а не по памяти. Именно это делает конвертер: спрашивает у базы часовых поясов в браузере, каким было смещение в тот самый день — с учётом летнего времени.
Смещения страннее, чем кажется
Целые часы — частый случай, но не правило.
- Индия живёт по UTC+05:30 — на полчаса в сторону, и так во всей стране.
- Непал пошёл дальше: UTC+05:45. Пятнадцать минут.
- А через весь глобус разброс больше суток. Острова Лайн в Кирибати — это UTC+14, остров Бейкер — UTC−12. Один и тот же момент, а на часах разница в 26 часов.
Из-за последнего конвертер иногда показывает город уже на завтрашней дате или ещё на вчерашней. Когда вы закрепляете время в одном поясе, инструмент помечает города, которые перешли через полночь относительно исходного, меткой «следующий день» или «предыдущий день». Та самая деталь, из-за которой вторничная встреча не превращается в среду по Сиднею.
Метод для трёх поясов сразу
Вот что реально помогает, когда жонглируешь, скажем, Сан-Франциско, Берлином и Сингапуром.
Начинайте с того, у кого день наименее гибкий, — обычно это тот, кто дальше всех к востоку. В Сингапуре никто не хочет звонок в 23:00. Найдите окно, когда там ещё день, и посмотрите, во что оно превращается у остальных. Идеала не будет; ищите вариант «все на ногах и никто не злится». Позднее утро в Калифорнии часто попадает в ранний вечер в Европе и поздний вечер в Азии — примерно настолько честно, насколько это вообще возможно при таком разбросе.
Поставьте исходный пояс на опорный город, введите время-кандидат и прочитайте остальные карточки. Две минуты, без счёта в уме и без мартовских провалов.
Почему всё работает в браузере
В каждый современный браузер встроена полная копия базы часовых поясов IANA — той же, что использует Linux и macOS. Значит, перевод происходит на месте, через встроенный API Intl. Ничего из введённого не покидает страницу, а в самолёте с выключенным Wi-Fi инструмент продолжает работать.
Список городов и формат — 12 или 24 часа — тоже сохраняются в браузере, так что пояса, которые вы проверяете каждое утро, останутся на месте и завтра.
Добавьте нужные города в конвертер часовых поясов и держите его в открытой вкладке — часы идут в реальном времени, и следующая путаница с тремя часами ночи будет уже не вашей.