Все руководства

Преобразование Unix-метки в дату и даты в Unix-метку

Опубликовано · Обновлено 3 мин чтения

Unix-метка это число, отсчитывающее время, прошедшее с 1 января 1970 года, полночь, по всемирному времени. Она встречается в базах данных, журналах программ и интерфейсах сайтов. Два вопроса определяют получаемую дату: единица числа и часовой пояс, в котором вы читаете результат.

Эталонное значение

Конвертировать Unix-метку выдаёт три прочтения одного и того же момента. Для 1700000000 при браузере, настроенном на парижское время:

ПрочтениеРезультат
Дата UTCTue, 14 Nov 2023 22:13:20 GMT
Местная дата14 ноября 2023 года в 23:13:20 UTC+1
ISO2023-11-14T22:13:20.000Z

Местное время следует часовому поясу браузера: зимой в Париже на час больше. Одна и та же метка это один момент, прочитанный в двух часовых поясах.

Единица определяется по числу цифр

Настройка по умолчанию определяет единицу по длине числа. Три следующих значения обозначают один и тот же момент в пределах точности.

ЧислоЦифрыОпределённая единицаПолученный момент
170000000010Секунды14 ноя 2023, 22:13:20 UTC
170000000000013Миллисекунды14 ноя 2023, 22:13:20 UTC
170000000012345616Микросекунды14 ноя 2023, 22:13:20.123 UTC

Правило: до 11 цифр секунды; от 12 до 14 миллисекунды; 15 и 16 микросекунды. Настройка «миллисекунды» принудительно задаёт эту единицу.

Ловушка правила

Поскольку единица выводится из длины, неоднозначное значение читается единственным способом: 10000000000 (11 цифр) даёт 20 ноября 2286 года, а 100000000000 (12 цифр) 3 марта 1973 года. Метка в миллисекундах до марта 1973 года содержит 11 цифр или меньше и будет прочитана как секунды: тогда принудительно задайте настройку «миллисекунды».

Значения до 1970 года и предел 2038 года

Отрицательное число обозначает момент до 1970 года: −1 даёт 31 декабря 1969 года в 23:59:59 UTC, а 0 даёт 1 января 1970 года в полночь.

Число 2147483647 наибольшее, которое способно вместить 32-битное знаковое целое: оно даёт 19 января 2038 года в 03:14:07 UTC. Следующее число, 2147483648, даёт 03:14:08. Инструмент продолжает без ограничений, но система, хранящая время в 32 битах, не может: это «ошибка 2038 года».

Преобразование даты в метку

Введите дату вместо числа: инструмент выдаст метку в секундах и в миллисекундах.

ВводМетка в секундахПрочтение
2026-01-011767225600Полночь по всемирному времени, часовой пояс не указан
2026-01-01T10:30:00+01:00176725980010:30 в Париже, то есть 09:30 по всемирному времени
2024-02-291709164800Високосный год принят

Дата без часового пояса читается по всемирному времени, а не по местному: инструмент напоминает об этом в результате. Несуществующая дата, например 30 февраля 2026 года, отвергается с сообщением.

Частые ошибки

  • Чтение миллисекунд как секунд: дата оказывается на тысячи лет дальше.
  • Забытый часовой пояс: дата, прочитанная как местная, а затем отправленная как всемирная, сдвигается на час или больше.
  • Запись даты без часового пояса с мыслью о местном времени, тогда как её прочитают по всемирному.

Чтобы посчитать дни между двумя датами, см. Подсчёт дней между двумя датами.

Для каких случаев

Журнал программы, база данных, ответ онлайн-службы или экспортированный файл: число трудно читать, а дата читается сразу.

Проверка преобразования

  1. Перечитайте строку UTC, которая не зависит от вашего устройства.
  2. Проверьте единицу, указанную в первой строке результата.
  3. Преобразуйте полученную дату обратно: должно вернуться исходное число.

Конвертировать Unix-метку

Часто задаваемые вопросы

Что такое Unix-метка?
Число секунд, прошедших с 1 января 1970 года, полночь, по всемирному времени.
Как узнать, в секундах число или в миллисекундах?
Инструмент выводит это из числа цифр: до 11 цифр секунды; от 12 до 14 миллисекунды; 15 и 16 микросекунды.
Что произойдёт в 2038 году?
Число 2147483647, наибольшее 32-битное знаковое целое, соответствует 19 января 2038 года. Система, хранящая время в 32 битах, не может идти дальше.
Какой часовой пояс используется для даты без пояса?
Всемирное время, а не местное. Инструмент напоминает об этом в результате.

Автор: Lmaotools