Unix-время и даты

Здесь метка времени из лога или базы превращается в понятную дату, а дата — в метку времени. Можно посмотреть момент в любом часовом поясе и узнать, сколько прошло между двумя датами. Вопросы и ответы.

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

Что такое Unix-время?
Число секунд с полуночи 1 января 1970 года по UTC, без учёта високосных секунд. Оно одинаково во всех часовых поясах, поэтому его хранят в базах и логах. JavaScript и многие API считают в миллисекундах: такое число на три знака длиннее.
Как понять, секунды это или миллисекунды?
По длине числа. До 11 цифр — секунды, до 14 — миллисекунды, до 17 — микросекунды, до 19 — наносекунды. Секунды можно записать с дробной частью: 1793044000.5.
Какие даты понимает поле?
ISO 8601 вроде 2026-10-26T15:00:00+03:00 или 2026-10-26 15:00, запись с поясом в квадратных скобках, как в RFC 9557, привычные 26.10.2026 15:00, 2026/10/26 15:00 и «26 октября 2026 г. в 15:00». А ещё HTTP-дату Mon, 26 Oct 2026 12:00:00 GMT, строку Date из JavaScript и время из лога nginx 26/Oct/2026:15:00:00 +0300. Год нужен всегда.
Зачем два поля с поясом?
По времени без смещения непонятно, в каком поясе оно записано. Для него появляется поле «Время без смещения указано в поясе», по умолчанию там пояс браузера. «Показать в поясе» меняет только вид результата, сам момент остаётся прежним.
Что будет при переводе часов?
Если указанного времени в поясе не было, потому что часы перевели вперёд, момент сдвигается на величину перевода. Если время повторилось, берётся первый раз. Так же поступают JavaScript и большинство библиотек.
Как считается разница?
Словами — по календарю пояса, в котором показан результат: от 31 января до 31 марта ровно два месяца, хотя дней в них разное число. В единицах — точное время между моментами. Так же считает Temporal, новый API дат в JavaScript.
Где сохраняются значения?
В адресе страницы, после знака #: ссылкой можно поделиться, и у собеседника откроется тот же расчёт. Для времени без смещения в адрес попадает и пояс, в котором оно записано, поэтому собеседник из другого пояса увидит тот же момент. Эта часть адреса не уходит на сервер и в статистику посещений, но остаётся в истории браузера.