Конвертер меток времени Unix
Метка времени в дату
Секунды или миллисекунды определяются автоматически.
Дата в метку времени
Выберите дату и время, чтобы преобразовать их в Unix timestamp.
Секунды с эпохи Unix (00:00:00 UTC 1 января 1970)
Секунды или миллисекунды определяются автоматически.
Выберите дату и время, чтобы преобразовать их в Unix timestamp.
Тот же текущий момент, выраженный в нескольких распространенных форматах, обновляется в реальном времени:
| Формат | Текущее значение |
|---|---|
| Unix-метка времени (секунды) | — |
| Временная метка Unix (миллисекунды) | — |
| ISO 8601 (UTC) | — |
| RFC 2822 (UTC) | — |
Unix-время (также известное как эпоха, POSIX-время или Unix timestamp) — это система для описания момента времени. Это количество секунд, прошедших с эпохи Unix, которая определяется как 00:00:00 UTC в четверг, 1 января 1970 года. Оно широко используется в Unix-подобных операционных системах и во многих других вычислительных системах.
Основное преимущество Unix-времени — его простота. Оно представляет время в виде одного, универсально понятного целого числа, которое постоянно увеличивается. Это делает его очень удобным для хранения, сравнения и выполнения расчетов с временными метками без учета часовых поясов, перехода на летнее время или различных календарных систем. Например, чтобы найти длительность между двумя событиями, достаточно вычесть их Unix-времена.
Хотя это число идеально подходит для компьютеров, оно не очень удобно для человека. Чтобы устранить этот разрыв, разработчики и технические энтузиасты используют инструмент, называемый конвертер эпох. Его можно использовать для мгновенного преобразования любой временной метки в читаемую человеком дату или для обратного преобразования — получения временной метки для конкретной даты.
Известная проблема, связанная с Unix-временем, — это "Проблема 2038 года". Она похожа по сути на проблему Y2K. Многие ранние компьютерные системы были разработаны для хранения Unix-времени как 32-битного знакового целого числа. Знаковое 32-битное число может представлять значения от -2 147 483 648 до 2 147 483 647.
Максимальное значение, 2 147 483 647, будет достигнуто в 03:14:07 UTC 19 января 2038 года. На следующую секунду целое число переполнится и вернется к своему самому отрицательному значению, которое системы интерпретируют как дату 1901 года. Это может вызвать массовые сбои в устаревшем программном обеспечении, использующем 32-битное представление времени.
Решение — использовать 64-битное целое число для хранения временной метки. 64-битное число имеет настолько большое максимальное значение, что не переполнится примерно 292 миллиарда лет, что фактически решает проблему на обозримое будущее. Большинство современных операционных систем и программ уже перешли на 64-битное представление времени.
Один важный технический момент — Unix-время не учитывает високосные секунды. Хотя UTC (координированное всемирное время) иногда добавляет високосную секунду, чтобы синхронизировать часы с вращением Земли, Unix-время просто игнорирует их и продолжает считать линейно.
Это означает, что Unix-время не является точным представлением UTC. Скорее, его можно описать как линейный счет секунд. Когда происходит високосная секунда, Unix-время иногда повторяет секунду, чтобы оставаться синхронизированным. Эта особенность важна для научных и высокоточных приложений, но для большинства задач общего назначения разница незначительна.
created_at, updated_at).
Эпоха Unix — это момент начала отсчёта времени для Unix-систем: 00:00:00 UTC 1 января 1970 года. Метка времени Unix — это просто количество секунд, прошедших с этого момента.
Эта дата была выбрана ранними разработчиками Unix как удобная, круглая начальная точка, близкая к моменту создания системы в начале 1970-х годов. С тех пор она является стандартной точкой отсчета.
Unix-время отсчитывается от эпохи, определённой в UTC, и не зависит от часового пояса, поэтому одна и та же временная метка означает один и тот же момент везде. Поскольку оно игнорирует високосные секунды, его лучше описывать как линейный счёт секунд, а не как идеальное представление UTC.
Стандартная временная метка Unix считает целые секунды от начала эпохи, что для текущих дат дает 10 цифр. Многие системы, включая JavaScript, считают миллисекунды, производя значение в 1 000 раз больше, состоящее из 13 цифр.
Системы, хранящие метку времени в 32-битном целом числе со знаком, могут считать только до 03:14:07 UTC 19 января 2038 года, после чего значение переполняется и ошибочно воспринимается как дата в 1901 году. Решение — хранить метку времени в 64-битном целом числе.