Россия — крупнейшая по площади страна в мире, и это отражается на карте часовых поясов: сейчас в стране официально действует 11 часовых поясов, от UTC+2 в Калининграде до UTC+12 на Камчатке и Чукотке. Разница между самой западной и самой восточной точками страны составляет 10 часов — почти как облететь половину земного шара.
Почему в России нет перехода на летнее время
Россия перешла на "постоянное зимнее время" в 2014 году, отменив сезонные переводы часов, которые вызывали много критики из-за влияния на сон и самочувствие людей. С тех пор часовые пояса в стране фиксированы круглый год, в отличие от большинства европейских стран, которые продолжают дважды в год переводить стрелки.
Смещение относительно UTC
Каждый часовой пояс определяется смещением относительно UTC — например, московское время соответствует UTC+3. Но это смещение не всегда кратно целому часу: Индия использует UTC+5:30, а Непал — вовсе UTC+5:45.
Почему конвертация часовых поясов сложна на практике
Границы часовых поясов и правила перехода на летнее время в разных странах меняются законодательно и непредсказуемо, поэтому надёжная конвертация времени требует постоянно обновляемой базы данных часовых поясов (вроде IANA Time Zone Database), а не просто фиксированного смещения в часах.
Зачем это нужно
- Согласовать время созвона между командой в Москве, Владивостоке и, например, партнёрами в Европе.
- Конвертировать метки времени из логов сервера в локальное время пользователя.
- Избегать ошибок в расписаниях при работе с несколькими часовыми поясами одной страны.
Не все смещения кратны часу
Хотя большинство часовых поясов смещены относительно UTC на целое число часов, есть исключения: Индия использует UTC+5:30, Непал — UTC+5:45, а некоторые регионы Австралии — UTC+9:30 или UTC+10:30. Кода, который предполагает, что смещение всегда кратно 60 минутам, следует избегать — именно поэтому надёжные библиотеки работают с названиями поясов IANA, а не произвольными числовыми смещениями.