Калькулятор GPS Time ↔ UTC
Преобразование с учетом високосных секунд
Конвертер GPS времени в UTC
Этот инструмент выполняет точное преобразование между временем Всемирного координированного времени (UTC) и системным временем GPS (GPS Time). Он учитывает все введенные на сегодняшний день високосные секунды.
Это обязательный инструмент для инженеров, работающих с ГНСС-оборудованием, синхронизацией сетей и обработкой спутниковых данных.
Как использовать калькулятор
Инструмент работает в двух направлениях. Используйте вкладки для выбора режима.
- Режим «UTC → GPS Time»:
- Укажите дату в формате ГГГГ-ММ-ДД в поле «Дата UTC».
- Задайте время UTC: часы (0-23), минуты (0-59) и секунды с миллисекундной точностью.
- В разделе «Високосные секунды» оставьте режим «Автоматически» или выберите «Ручной ввод».
- Результат появится мгновенно: Неделя GPS, Секунды недели GPS, Неделя GPS mod 1024 и примененное значение високосных секунд.
- Режим «GPS Time → UTC»:
- Введите значение Недели GPS (целое число, отсчет с 6 января 1980 г.).
- Введите Секунды недели GPS (от 0 до 604799.999...).
- Выберите режим работы с високосными секундами.
- Результат отобразится в виде даты и времени UTC с миллисекундной точностью.
Кнопка «Копировать результаты» позволяет экспортировать данные для отчетов или программного кода.
Содержание
- Математические основы и алгоритм преобразования
- Примеры практических расчетов
- Часто задаваемые вопросы (FAQ)
Математические основы и алгоритм преобразования
Понимание формул критически важно для верификации данных и интеграции расчетов в собственные системы.
Эпохи и базовые константы
Начало отсчета GPS Time (GPS Epoch): 6 января 1980 года, 00:00:00 UTC.
Смещение на старте системы: На момент эпохи разница TAI – UTC составляла 19 секунд.
GPS Time является производным от TAI (Международного атомного времени) и не имеет високосных секунд.
Его начальное смещение относительно UTC составило +19 секунд.
Длительность недели GPS: SECONDS_PER_WEEK = 604800 с (7 дней × 24 часа × 3600 секунд).
Формула преобразования UTC → GPS Time
Ключевой параметр — ΔLS (Total Leap Seconds) — суммарное количество високосных секунд, введенных к дате UTC.
GPS Time (в секундах) = (UTC_timestamp - GPS_epoch_timestamp) + (ΔLS - 19)Где
UTC_timestampиGPS_epoch_timestamp— количество секунд с Unix-эпохи (1 января 1970 г.).Затем вычисляются неделя и секунды недели:
GPS_Week = floor(GPS Time / SECONDS_PER_WEEK)
GPS_SecondsOfWeek = GPS Time % SECONDS_PER_WEEK
GPS_Week_mod_1024 = GPS_Week % 1024(используется в коротком формате навигационных сообщений).
Формула преобразования GPS Time → UTC
UTC_timestamp = GPS_epoch_timestamp + GPS Time (в секундах) - (ΔLS - 19)Поскольку ΔLS зависит от результирующей даты UTC, калькулятор использует итеративный алгоритм.
Он делает предположение о ΔLS, вычисляет UTC, определяет актуальное ΔLS для этой даты и повторяет процесс до согласованности.
Таблица високосных секунд (ключевые даты)
Калькулятор использует следующую эталонную таблицу для автоматического определения ΔLS. Значение актуально на 2024-2025 годы.
| Дата введения (UTC) | Суммарное количество високосных секунд (ΔLS) | Разница GPS – UTC |
|---|---|---|
| 1 января 1972 | 10 | -9 |
| 1 июля 1972 | 11 | -8 |
| 1 января 1973 | 12 | -7 |
| 1 января 1974 | 13 | -6 |
| 1 января 1975 | 14 | -5 |
| 1 января 1976 | 15 | -4 |
| 1 января 1977 | 16 | -3 |
| 1 января 1978 | 17 | -2 |
| 1 января 1979 | 18 | -1 |
| 1 января 1980 | 19 | 0 |
| 1 июля 1981 | 20 | +1 |
| 1 июля 1982 | 21 | +2 |
| 1 июля 1983 | 22 | +3 |
| 1 июля 1985 | 23 | +4 |
| 1 января 1988 | 24 | +5 |
| 1 января 1990 | 25 | +6 |
| 1 января 1991 | 26 | +7 |
| 1 июля 1992 | 27 | +8 |
| 1 июля 1993 | 28 | +9 |
| 1 июля 1994 | 29 | +10 |
| 1 января 1996 | 30 | +11 |
| 1 июля 1997 | 31 | +12 |
| 1 января 1999 | 32 | +13 |
| 1 января 2006 | 33 | +14 |
| 1 января 2009 | 34 | +15 |
| 1 июля 2012 | 35 | +16 |
| 1 июля 2015 | 36 | +17 |
| 1 января 2017 | 37 | +18 |
Текущая разница: GPS Time – UTC = ΔLS – 19 = 37 – 19 = +18 секунд.
Примеры практических расчетов (Case Studies)
Пример 1: Преобразование текущего времени UTC в GPS Time
Задача: Определить временную метку GPS для момента 15 ноября 2024 г., 14:30:45.120 UTC.
Ввод в калькулятор (режим UTC→GPS): Дата: 2024-11-15. Часы: 14. Минуты: 30. Секунды: 45.120. Режим високосных секунд: Авто.
Результат и проверка: Калькулятор покажет GPS Week = 2336, GPS Seconds of Week = 52245.120. Примененные високосные секунды: 37.
Проверка: С даты эпохи GPS (06.01.1980) до 15.11.2024 прошло ~44.87 года или 2341 неделя. Учитывая начальную неделю №0, результат 2336 недель корректен.
Пример 2: Расшифровка временной метки из данных GNSS-приемника
Задача: Приемник записал данные в момент GPS Week = 2280, GPS Seconds of Week = 302400.500. Получить UTC для корреляции с наземными системами.
Ввод в калькулятор (режим GPS→UTC): Неделя GPS: 2280. Секунды недели: 302400.500. Режим високосных секунд: Авто.
Результат и анализ: Калькулятор вернет дату UTC, например, 18 августа 2023 г., 12:00:00.500. Примененные високосные секунды: 37.
Анализ: 302400 секунд недели — это ровно 84 часа (302400 / 3600). Это момент пятницы, 12:00:00.500 UTC, что соответствует структуре навигационных сообщений.
Часто задаваемые вопросы (FAQ)
В чем принципиальная разница между UTC и GPS Time?
UTC — гражданский стандарт времени, корректируемый введением високосных секунд.
Он согласован с вращением Земли. GPS Time — чисто атомная шкала времени, непрерывная и не имеющая високосных секунд.
Начальное смещение 19 секунд и последующие високосные секунды создают нарастающую разницу.
На 2024 год GPS Time опережает UTC на 18 секунд.
Что такое «Неделя GPS mod 1024» и зачем она нужна?
Это счетчик недель по модулю 1024 (от 0 до 1023). Из-за ограничения на ширину поля в навигационном сообщении GPS (10 бит) недели передаются в этом усеченном формате.
Каждые 1024 недели (~19.6 лет) счетчик сбрасывается до нуля. Последние сбросы были в августе 1999 г. и апреле 2019 г.
Для однозначного определения полного номера недели (Week Number Rollover) необходим дополнительный контекст.
Почему калькулятор выдает предупреждение о границе високосной секунды?
Високосная секунда добавляется в конце определенного дня UTC (обычно 30 июня или 31 декабря).
В течение этого дня разница GPS Time – UTC является нецелым значением.
С 00:00 до 23:59:59 это +18 с, в момент 23:59:60 — +19 с. Калькулятор предупреждает о возможной неоднозначности при преобразовании времени, близкого к этой границе.
Можно ли использовать этот калькулятор для преобразования в местное время?
Нет, данный инструмент выполняет преобразование строго между шкалами GPS Time и UTC.
Для перевода UTC в местное время необходимо дополнительно учитывать часовой пояс и правила перехода на летнее/зимнее время.
Эти данные являются политическими и историческими и не входят в его функционал.
Что делать, если мои данные используют время GLONASS, Galileo или BeiDou?
GLONASS использует шкалу UTC(SU), которая может иметь расхождения в несколько микросекунд с UTC, но не имеет «скачков» в виде високосных секунд.
Galileo использует шкалу GST (Galileo System Time), которая синхронизирована с GPS Time с наносекундной точностью и также не имеет високосных секунд.
BeiDou (BDS) использует шкалу BDT, ведущую отсчет с 1 января 2006 г. и не содержащую високосных секунд.
Для точного преобразования в эти шкалы требуются поправки синхронизации от соответствующих контрольных сегментов.