Основные выводы
- 01Временная метка Unix считает секунды, прошедшие с момента 00:00:00 UTC 1 января 1970 года, называемого эпохой.
- 0210-значное число обычно означает секунды; 13-значное число обычно означает миллисекунды — разделите на 1000 для преобразования.
- 03Время Unix всегда в UTC, поэтому одна и та же временная метка показывает разное время на часах в разных часовых поясах.
Определение в одном предложении
Временная метка Unix — это количество секунд, прошедших с момента 00:00:00 Coordinated Universal Time (UTC) 1 января 1970 года. Этот начальный момент называется эпохой Unix, и каждая временная метка отсчитывается от него. На момент чтения этого текста текущее значение составляет более 1,7 миллиарда.
Причина, по которой компьютеры согласились на одну произвольную дату, — это эффективность. Одно целое число намного проще хранить, сравнивать и выполнять над ним арифметические операции, чем строку вроде «24 июня 2026, 15:14 по центральноевропейскому летнему времени». Сортировка событий, измерение того, сколько времени прошло, или проверка того, произошло ли одно событие раньше другого, все сводятся к сравнению двух целых чисел.
Поскольку счёт привязан к UTC, временная метка Unix не содержит встроенной информации о часовом поясе. Одно и то же число, 1750000000, является одним моментом времени везде на Земле — оно просто отображается как разное время на часах в Токио и в Нью-Йорке. Часовые пояса применяются только при преобразовании числа обратно в понятную для человека дату.
Секунды против миллисекунд: как их различать
Классическая временная метка Unix измеряется в секундах, но много современного программного обеспечения — в частности JavaScript — измеряет в миллисекундах, что в 1000 раз больше. Смешивание этих двух — самая распространённая ошибка с временными метками, и она даёт даты либо в 1970 году, либо примерно на 50 000 лет в будущее.
Самый быстрый способ их различить — подсчёт цифр. Временная метка в секундах для любой недавней даты имеет 10 цифр (1750000000). Версия того же момента в миллисекундах имеет 13 цифр (1750000000000). Если значение выглядит в 1000 раз больше, чем должно, это почти наверняка миллисекунды — разделите на 1000, чтобы получить секунды. Если библиотека ожидает миллисекунды, а вы передаёте секунды, умножьте на 1000.
Некоторые системы идут ещё дальше: микросекунды (16 цифр) и наносекунды (19 цифр) встречаются в высокоточном логировании и базах данных. Правило то же — каждый шаг — это ещё один множитель 1000. Если вы сомневаетесь, вставьте число в конвертер и посмотрите, близка ли полученная дата к сегодняшнему дню.
Как преобразовать временную метку Unix в дату
Вам не нужно делать математику вручную. Вставьте число и прочитайте дату в вашем часовом поясе и в UTC.
- 01
Откройте конвертер временных меток Unix
Перейдите на конвертер временных меток Unix сайта Handytool. Всё работает в вашем браузере, поэтому ничего не отправляется на сервер.
- 02
Вставьте число
Введите временную метку. Инструмент автоматически определяет, секунды ли это или миллисекунды, исходя из длины числа, поэтому вам редко требуется указывать это.
- 03
Прочитайте понятную дату
Посмотрите дату и время в формате UTC и в вашем местном часовом поясе, чтобы убедиться, что вы читаете нужный момент.
- 04
Сделайте обратное преобразование
Введите календарную дату и время, чтобы получить соответствующую временную метку Unix для сохранения в базе данных, вызова API или запланированного задания.
Почему 1970 год и другие особенности
Эпоха была выбрана в начале 1970-х годов инженерами, разрабатывавшими Unix в Bell Labs. Это должна была быть недавняя, круглая, удобная дата, и начало 1970 года подошло — оно было достаточно близко, чтобы счётчик не требовал сразу очень больших чисел, и достаточно далеко, чтобы охватить интересующие их времена файлов и процессов. Отрицательные временные метки представляют моменты до 1970 года, поэтому схема также работает с историческими датами.
Одна тонкость: время Unix игнорирует дополнительные секунды. Реальное UTC иногда вставляет дополнительную секунду, чтобы оставаться выровненным с несколько нерегулярным вращением Земли, но время Unix считает, что каждый день имеет ровно 86 400 секунд. Это упрощает арифметику за счёт того, что отличается от строгого астрономического времени на доли минуты — компромисс, с которым почти все согласны.
Когда вам нужно выровнять временную метку с событием Discord, расписанием cron или обратным отсчётом, полезно использовать конвертер вместе с инструментом часовых поясов, чтобы вы могли видеть один и тот же момент времени во всех регионах вашей аудитории.
Часто задаваемые вопросы о временных метках Unix
Временная метка Unix в секундах или миллисекундах?
Это зависит от системы. Традиционное время Unix — это секунды (10-значное число для текущих дат); JavaScript и много веб-API используют миллисекунды (13 цифр). Разделите на 1000, чтобы перейти от миллисекунд к секундам, или умножьте на 1000 для обратного преобразования.
Содержит ли временная метка Unix информацию о часовом поясе?
Нет. Время Unix всегда считается в UTC и не содержит информации о поясе. Пояс применяется только при преобразовании числа в понятную дату, что объясняет, почему одна и та же временная метка показывает разные времена на часах по всему миру.
Какова текущая временная метка Unix?
Она меняется каждую секунду. По состоянию на середину 2026 года она составляет примерно 1,75 миллиарда. Откройте конвертер, чтобы увидеть текущее значение и преобразовать любую конкретную дату в её временную метку.
Что такое эпоха?
«Эпоха» — это другое название для времени Unix. Эпоха — это фиксированное начало — 1 января 1970 года в 00:00:00 UTC — и эпоха — это количество секунд, отсчитываемых от неё.
Может ли временная метка Unix быть отрицательной?
Да. Даты до 1 января 1970 года представлены как отрицательные числа, отсчитывающие секунды в обратном направлении от эпохи.