Инструмент меток времени
Онлайн-инструмент преобразования меток времени с поддержкой конвертации между Unix-меткой и датой-временем с учётом нескольких часовых поясов
Онлайн-инструмент преобразования меток времени с поддержкой конвертации между Unix-меткой и датой-временем с учётом нескольких часовых поясов
Определение:
Метка времени Unix (Unix Timestamp) — это количество секунд, прошедших с 1 января 1970 года, 00:00:00 UTC (без учёта високосных секунд). Она служит не зависящим от платформы и часового пояса стандартом представления времени в компьютерных системах.
Авторитетные источники определения:
time.h[2] определяет её тип данных как time_t (обычно знаковое 32- или 64-битное целое).Ключевые особенности:
1696118400. Хотя их часто используют как взаимозаменяемые, GMT (среднее время по Гринвичу) и UTC (всемирное координированное время) имеют принципиальные различия:
| Аспект | GMT (среднее время по Гринвичу) | UTC (всемирное координированное время) |
|---|---|---|
| Определение | Основано на вращении Земли (астрономические наблюдения) | Основано на атомных часах (колебания атома цезия), отличается от GMT менее чем на 0,9 с |
| Коррекция | Без периодической калибровки | Синхронизируется с вращением Земли через високосные секунды[5] |
| Авторитет | Изначально определено Гринвичской обсерваторией, ныне используется как обозначение часового пояса (UTC+0) | Поддерживается ITU[6] и BIPM[7] |
Ключевые факты:
Etc/UTC, и Etc/GMT обозначают нулевое смещение, но последнее использует обратные знаки (например, GMT+1 на самом деле означает UTC-1).Формула «метка времени → локальное время»:
Локальное время = Метка времени Unix + Смещение часового пояса + Компенсация високосной секунды
Авторитетные инструменты и стандарты:
America/New_York обозначает UTC-5/UTC-4) YYYY-MM-DDTHH:mm:ss±HH:mm (например, 2023-10-01T08:00:00-04:00) Пример кода (Python):
import datetime
timestamp = 1696118400
# Convert to UTC
utc_time = datetime.datetime.utcfromtimestamp(timestamp) # 2023-10-01 00:00:00
# Convert to Eastern Time (UTC-4)
local_time = datetime.datetime.fromtimestamp(timestamp, datetime.timezone(datetime.timedelta(hours=-4))) # 2023-10-01 04:00:00-04:00
Механизм високосной секунды:
| Совместимость систем: | Система/Язык | Обработка високосных секунд | Официальная документация |
|---|---|---|---|
| Linux | Ядро поддерживает вставку високосных секунд, требуется ручная настройка | Обработка високосных секунд в ядре Linux | |
| Java | API java.time игнорирует високосные секунды |
Документация Oracle по Java | |
| Публичный NTP Google | Использует стратегию «размазывания високосной секунды» при её вставке | Размазывание високосных секунд в Google |
Понимание этих понятий обеспечивает точное управление временной логикой в критических системах, таких как финансовые транзакции и синхронизация журналов.
time.h: выполните man 3 time в терминале