Краткое описание
Конвертация часовых поясов переводит местное время в одном часовом поясе в соответствующее местное время в другом. Мир разделён на временны́е зоны, каждая из которых определяется смещением UTC, которое может меняться в зависимости от сезона из-за перехода на летнее время (DST). База данных часовых поясов IANA - поддерживаемая ICANN и используемая каждой крупной операционной системой и браузером - является авторитетным источником этих правил.
Как это работает
Каждый часовой пояс определяется своим смещением UTC - количеством часов и минут, на которое он опережает или отстаёт от Координированного всемирного времени (UTC). Для конвертации времени из одного пояса в другой:
- Определить смещение UTC исходного часового пояса на данную дату
- Определить смещение UTC целевого часового пояса на данную дату
- Рассчитать разницу и применить её к исходному времени
Дата имеет значение, поскольку многие часовые пояса соблюдают летнее время (DST), смещая UTC на один час (как правило) в летние месяцы. Например, Лондон зимой имеет UTC+0 (GMT), а летом - UTC+1 (BST).
Нестандартные смещения
Большинство часовых поясов используют целочасовые смещения, однако некоторые - нет:
| Часовой пояс | Смещение UTC | Регион |
|---|---|---|
| Индийское стандартное время (IST) | UTC+5:30 | Индия |
| Непальское время (NPT) | UTC+5:45 | Непал |
| Острова Чатем | UTC+12:45 | Новая Зеландия |
| Острова Маркизские | UTC−9:30 | Французская Полинезия |
Формула
Where
Пересечение рабочего времени
Чтобы найти время, когда рабочие часы (обычно 9:00–17:00) пересекаются в нескольких часовых поясах:
- Конвертировать рабочие часы каждого часового пояса в UTC
- Найти пересечение всех диапазонов UTC
- Количество перекрывающихся часов UTC - это и есть пересечение рабочего времени
Where
Примеры расчётов
Лондон 12:00 → Нью-Йорк (15 января)
Смещение исходного пояса (Лондон, январь)
= 0 мин
Смещение целевого пояса (Нью-Йорк, январь)
= −300 мин
Разница смещений
= −5:00
Целевое время
= 07:00
Result
Лондон 12:00 = Нью-Йорк 07:00 EST
Пересечение рабочего времени: Лондон + Нью-Йорк (январь)
Рабочие часы Лондона в UTC
= 09:00–17:00 UTC
Рабочие часы Нью-Йорка в UTC
= 14:00–22:00 UTC
Пересечение
= 3 часа
Result
3 часа пересечения рабочего времени (14:00–17:00 UTC = 14:00–17:00 в Лондоне = 9:00–12:00 в Нью-Йорке)
Пояснение к вводимым данным
- Город источника - исходный часовой пояс. По умолчанию - определённый часовой пояс пользователя.
- Город назначения - целевой часовой пояс.
- Время - местное время в исходном часовом поясе для конвертации.
- Дополнительные города - дополнительные часовые пояса для многозонного сравнения и планирования встреч.
Пояснение к результатам
- Конвертированное время - соответствующее местное время в целевом часовом поясе.
- Разница смещений - насколько часов/минут целевой пояс опережает или отстаёт от исходного.
- Смещение дня - пересекает ли конвертация границу даты (+1 день или −1 день).
- Пересечение рабочего времени - сколько часов стандартного рабочего времени (9–17) пересекается между всеми выбранными часовыми поясами.
- 24-часовая временна́я шкала - визуальная полоска, показывающая, какие часы являются рабочими в каждом часовом поясе и где они пересекаются.
Допущения и ограничения
- Рабочие часы считаются с 9:00 до 17:00 по местному времени. Многие отрасли и культуры используют иные рабочие часы.
- Переходы на летнее время - калькулятор учитывает DST через браузерный Intl API (на базе базы данных IANA TZ), однако точные правила перехода могут меняться при обновлении политик правительств.
- Список городов - калькулятор включает 22 популярных города. Часовые пояса, не представленные городом в списке, в настоящее время не могут быть выбраны.
- Смещения на полчаса и 45 минут - полностью поддерживаются (Индия UTC+5:30, Непал UTC+5:45 и т.д.).
- Исторические даты - конвертация использует текущую дату; исторические правила часовых поясов не моделируются.
Верификация
| Тест | Вводные данные | Ожидаемый результат | Источник |
|---|---|---|---|
| Лондон → Нью-Йорк (зима) | 12:00, 15 янв | 07:00 (−5:00) | timeanddate.com |
| Лондон → Мумбаи (зима) | 12:00, 15 янв | 17:30 (+5:30) | IANA: IST = UTC+5:30 |
| Лондон → Токио (зима) | 12:00, 15 янв | 21:00 (+9:00) | IANA: JST = UTC+9 |
| Лондон → Катманду | 12:00, 15 янв | 17:45 (+5:45) | IANA: NPT = UTC+5:45 |
| Пересечение: Лондон + Нью-Йорк | 9–17, 15 янв | 3 часа | Расчёт по смещениям |
| Пересечение: Лондон + Дубай | 9–17, 15 янв | 4 часа | Расчёт по смещениям |