Конвертер Unix timestamp в дату и обратно

Конвертер времени Unix: вставьте timestamp или дату и получите её словами, в вашем часовом поясе и в UTC, и всё, чем ещё может быть число.

s · ms · µs · ns · FILETIME · .NET · Excel · NTP · GPS · работает в браузере

Пример · 817876800

суббота

2 декабря 1995 г.

04:00:00 UTC

UTC
сб, 2 дек. 1995 г. · 04:00:00
сб, 2 дек. 1995 г. · 04:00:00UTC · UTC+00:00
Относительное время
31 год назад
Запись в форматах
ISO 8601 · UTC
1995-12-02T04:00:00Z
ISO 8601 · UTC
1995-12-02T04:00:00Z
RFC 5322 · почтаформат, который определил RFC 2822
Sat, 02 Dec 1995 04:00:00 +0000
HTTP-датаRFC 9110
Sat, 02 Dec 1995 04:00:00 GMT
SQL DATETIMEUTC
1995-12-02 04:00:00
Секунды
817876800
Миллисекунды
817876800000
Микросекунды
817876800000000
Наносекунды
817876800000000000

Одно число · все эпохи

7 прочтений дают реальную дату

Прочитано как Unix-секунды по длине: 9 цифр. Как GPS-секунды это было бы 6 декабря 2005 г.: тоже реальная дата, поэтому этот вариант доступен в один клик.

ПрочтениеКуда попадает
1900–2100: реальная датаСегодня2038: предел 32 битНе попадает ни на одну реальную датуВыберите прочтение, чтобы использовать его
Сейчас

Миллисекунды
Микросекунды
Наносекунды
ISO 8601

Часы вашего браузера считают целые миллисекунды: нули после них — заполнение, а не точность.

Дата и время → timestamp
Часовой пояс

UTC · UTC+00:00 на эту дату

1793813880
Миллисекунды
1793813880000
ISO 8601
2026-11-04T17:38:00Z
Начало и конец по времени UTC
НачалоКонец
День17937504001793836799
Месяц17934912001796083199
Год17672256001798761599

Всё происходит в этой вкладке: ничего из вставленного никуда не отправляется.

Как пользоваться конвертером времени Unix

Вставьте ваш timestamp в поле, в какой бы единице он ни был, и дата появится в вашем часовом поясе и в UTC. Можно ввести и дату, заголовок Date из письма или слово сейчас, чтобы получить epoch-время.

Страница читает число сразу как секунды, миллисекунды, микросекунды и наносекунды, выбирает прочтение, которое даёт реальную дату, объясняет почему, а остальные прочтения оставляет доступными в один клик. Под ответом те же цифры прочитаны как метка времени Windows, .NET, Mac, Excel, NTP и GPS, и любой формат можно скопировать.

Конвертер Unix timestamp: 133756272000000000 как Windows FILETIME — 9 ноября 2024 г. и все эпохи на одной шкалеКонвертер Unix timestamp: 133756272000000000 как Windows FILETIME — 9 ноября 2024 г. и все эпохи на одной шкалеВставьте что угодноЧисло в любой единице, дату ISO, заголовок Date из письма, SQL datetime или слово «сейчас». Метка показывает, как это прочитано.Цифры посчитаныЛинейка под числом делит его цифры на группы по три, и 18 цифр читаются как шесть групп: первая подсказка, что это за число.Сначала ответДень недели и дата словами, затем время в UTC и в вашем часовом поясе и все форматы для копирования.Какое прочтение и почемуСтраница словами объясняет, какое прочтение выбрала и почему, и называет другое прочтение, которое тоже даёт реальную дату.Все остальные эпохиТе же цифры, прочитанные во всех единицах и всех эпохах, каждая — полоса от собственного начала. Выберите строку, чтобы использовать это прочтение.
Инструмент читает Windows FILETIME. Выберите номер, чтобы узнать, что делает каждая часть.

Что такое epoch (Unix-время) и почему оно начинается в 1970 году?

Epoch-время, или Unix-время, — это число секунд с 1970-01-01 00:00:00 UTC, момента, который POSIX называет Эпохой. Timestamp 0 — это сам этот момент, а 817876800 — 1995-12-02 04:00 UTC.

Ни один первоисточник не сообщает, почему выбрали 1970 год. Первое руководство по Unix, вышедшее в ноябре 1971 года, считало шестидесятые доли секунды с 1 января 1971 года и отмечало, что такого счёта хватит примерно на два с половиной года; к седьмой редакции в 1979 году счёт уже шёл в секундах с 1 января 1970 года — круглой даты, близкой ко времени, когда писался Unix. Сам UTC появился только в 1972 году, поэтому более ранние метки времени считаются UTC по соглашению.

Unix, первая редакция, 1971шестидесятые доли секунды с 1 января 1971 г., в 32 битах

переполнился 8 апреля 1973 г. · 2,27 года

Unix, седьмая редакция, 1979секунды с 1 января 1970 г., в знаковом 32-битном числе

1901-12-13 → 2038-01-1968 лет в каждую сторону

отрицательные значения: до 1970 года

Хронологически--мыслящий пользователь заметит, что 2**32 шестидесятых долей секунды — это всего около 2,5 года.

UNIX Programmer's Manual, первая редакция, time (II), 3 ноября 1971 г.

Все эпохи, которые читает эта страница, на одной линии

  1. .NET0001-01-01 · тики по 100 нс
  2. Windows FILETIME1601-01-01 · тики по 100 нс
  3. Excel1899-12-30 · дни
  4. NTP1900-01-01 · секунды
  5. Mac HFS+1904-01-01 · секунды
  6. Excel 19041904-01-01 · дни
  7. Unix1970-01-01 · секунды
  8. GPS1980-01-06 · секунды
Обе полосы рассчитаны по размеру счётчика: 2³² шестидесятых долей секунды хватает на 2,27 года — чуть меньше, чем оценило само руководство. Все остальные эпохи, которые читает эта страница, начинаются в других точках той же линии, нарисованной по оси времени самого конвертера. Источник: time (II), 1971, time (2), 1979

Мой timestamp в секундах, миллисекундах, микросекундах или наносекундах?

Посчитайте цифры: у текущей метки времени 10 цифр в секундах, 13 в миллисекундах, 16 в микросекундах и 19 в наносекундах. JavaScript и Java используют миллисекунды, а утилиты Unix и большинство API — секунды.

Число цифр — сильная подсказка, но не доказательство. Метки времени NTP, GPS и Mac сегодня тоже десятизначные, а Windows FILETIME и число тиков .NET — оба восемнадцатизначные, поэтому эта страница читает все шкалы сразу и показывает выбранное прочтение рядом с остальными. К тому же FILETIME больше, чем JavaScript может хранить точно, поэтому страница сохраняет цифры такими, какими вы их вставили.

10 цифр · 4 шкалы · по одним цифрам не понять, какая это шкала

Unix-секунды1792972800
NTP-секунды4001961600
GPS-секунды1477008018
Mac HFS+3875817600
Unix-милли­секунды1792972800000
Unix-микро­секунды1792972800000000

18 цифр · 2 шкалы · различаются только первой цифрой

Windows FILETIME134374464000000000
.NET-тики639285696000000000
Unix-нано­секунды1792972800000000000

Секунды длиной 10 цифр — это значения от 2001-09-09T01:46:40Z до 2286-11-20T17:46:39Z. Это промежуток в 285 лет, а не единица измерения.

Каждое значение — один и тот же момент, 26 октября 2026 г., 00:00 UTC, на своей шкале. Длина различает единицы Unix, но не различает эпохи. Источник: ECMA-262 §21.4.1, [MS-DTYP] 2.3.3, DateTime.Ticks

Как перевести Unix timestamp в дату в своём часовом поясе?

У Unix timestamp нет часового пояса: он обозначает один и тот же момент везде. Дата зависит от того, где её читать, поэтому страница показывает рядом ваш пояс и UTC, а также любой пояс, который вы выберете.

Выбор пояса опирается на базу часовых поясов IANA — ту же, что и ваша операционная система, поэтому переход на летнее время учитывается для самой даты, а не для сегодняшнего дня. В обратную сторону дата, введённая без смещения, читается как UTC, и страница предлагает прочитать её в вашем поясе.

Один момент1793057400= 2026-10-26T23:30:00Z

  • Лос-Анджелес16:30пн, 26 окт.UTC−07:00
  • Нью-Йорк19:30пн, 26 окт.UTC−04:00
  • UTC23:30пн, 26 окт.UTC+00:00
  • Берлин00:30вт, 27 окт.UTC+01:00
  • Калькутта05:00вт, 27 окт.UTC+05:30
  • Токио08:30вт, 27 окт.UTC+09:00
  • Лорд-Хау10:30вт, 27 окт.UTC+11:00

Берлин, 29 марта 2026 г.23 часа · часы перевели с 02:00 сразу на 03:00

Берлин, 25 октября 2026 г.25 часов · часы перевели назад с 03:00 на 02:00

Центральная Европа, стандартное время · UTC+01:00Центральная Европа, летнее время · UTC+02:00час, который был дваждычас, которого не было

Один timestamp, 7 циферблатов: где местная дата не совпадает с датой UTC, она отмечена. Берлин, 2026: в два дня перевода часов одно время на часах не обозначало ни одного момента, а другое — сразу два. Источник: ECMA-262 §21.4.1.19, IANA tz

Что случится с Unix-временем в 2038 году?

Unix-время, хранящееся как знаковое 32-битное целое, заканчивается на 2147483647, то есть на 2038-01-19 03:14:07 UTC; через секунду оно переполняется и превращается в дату в декабре 1901 года. Системы, которые считают в 64 битах, как теперь требует POSIX, это не затрагивает.

В 2026 году риск — в хранении, а не в часах: столбец TIMESTAMP в MySQL по-прежнему заканчивается на 2038-01-19 03:14:07 UTC, как и любой формат файлов или встраиваемое устройство, где осталось 32-битное поле. У NTP есть собственное, более раннее переполнение: его 32-битные секунды переполняются в 2036 году. Страница отмечает любой timestamp рядом с границей 2038 года или за ней.

2 147 483 647наибольшее знаковое 32-битное число

01111111 11111111 11111111 11111111

вт, 19 янв. 2038 г.03:14:07 UTC

+ 1 секунда

-2 147 483 648те же 32 бита, прочитанные как знаковое число

10000000 00000000 00000000 00000000

пт, 13 дек. 1901 г.20:45:52 UTC

Последняя секунда, UTC

Знаковый 32-битный time_t2038-01-19 03:14:07
Беззнаковые 32-битные секунды2106-02-07 06:28:15
Столбец TIMESTAMP в MySQL2038-01-19 03:14:07
NTP, эра 02036-02-07 06:28:15
Даты Mac HFS+2040-02-06 06:28:15

сегодня2038-01-19

Каждый конец рассчитан по размеру самого поля: это последняя целая секунда, которую оно может хранить. 64-битный time_t, которого требует POSIX.1-2024, охватывает примерно 292 миллиарда лет в обе стороны от 1970 года. Источник: POSIX.1-2024 A.4.19, MySQL 8.4, RFC 5905 §6, TN1150

Может ли Unix timestamp быть отрицательным?

Да: отрицательный timestamp — это дата до 1970 года. -1 — это 1969-12-31 23:59:59 UTC, а -86400 — 1969-12-31 00:00:00 UTC.

Сам POSIX оставляет отрицательные значения неопределёнными, но GNU и большинство систем по документированному расширению считают их датами до 1970 года, как и JavaScript, Python и PostgreSQL. Исключение — MySQL: его столбец TIMESTAMP начинается в 1970 году, а FROM_UNIXTIME(-1) возвращает NULL. Даты рождения и исторические записи — обычные отрицательные метки времени, поэтому страница читает их как даты, а не объявляет ошибкой.

СекундыНасколько назад (лог. шкала)Дата, UTC

0чт, 1 янв. 1970 г.00:00:00 UTC
-1ср, 31 дек. 1969 г.23:59:59 UTC
-86 400ср, 31 дек. 1969 г.00:00:00 UTC
-31 536 000ср, 1 янв. 1969 г.00:00:00 UTC
-1 000 000 000вс, 24 апр. 1938 г.22:13:20 UTC
-2 147 483 648пт, 13 дек. 1901 г.20:45:52 UTC
  • POSIXЕсли год <1970 или значение отрицательное, соотношение не определено.
  • GNU date@-1 — это 1969-12-31 23:59:59 UTC: отрицательные значения как расширение POSIX
  • JavaScriptлюбая дата в пределах примерно 273 790 лет от 1970 года в обе стороны
  • MySQL TIMESTAMPначинается с 1970-01-01 00:00:01 UTC: отрицательное значение в нём не хранится
Каждое значение прочитано как Unix-секунды. Полосы нарисованы в логарифмической шкале, чтобы малые значения оставались видны. Последняя строка — наименьшее число, которое помещается в знаковое 32-битное поле: дальний край проблемы 2038 года. Источник: POSIX.1-2024 §4.19, GNU Coreutils, ECMA-262 §21.4.1, MySQL 8.4

Windows, .NET, Mac, Excel, NTP и GPS: другие эпохи

Многие системы считают от собственного нуля: Windows — с 1601 года, .NET — с 1-го года, Mac и HFS+ — с 1904-го, Excel — с 1900-го, NTP — с 1900-го, а GPS — с 6 января 1980 года. Число, которое не имеет смысла как Unix timestamp, часто оказывается одним из них.

Например, FILETIME 133756272000000000 считает 100-наносекундные интервалы с 1601 года и равен 2024-11-09 12:00:00 UTC. Excel считает дни и намеренно принимает 1900 год за високосный, поэтому его числа меньше 61 сдвинуты на день, и страница их помечает. GPS-время пропускает високосные секунды и с 2017 года опережает UTC на 18 секунд.

ЭпохаЧто считаетС какого моментаНа 26 окт. 2026 г.ЦифрЧасовой поясГде встречается
Unix-секундысекунды1970-01-01179297280010UTC (POSIX)date +%s, time.time() в Python
Unix-милли­секундымиллисекунды1970-01-01179297280000013UTCDate.now() в JavaScript, Java
Unix-нано­секундынаносекунды1970-01-01179297280000000000019UTCUnixNano() в Go
Windows FILETIMEтики по 100 нс1601-01-0113437446400000000018UTC (на FAT — местное время)NTFS, lastLogon в Active Directory, Win32
.NET-тикитики по 100 нс0001-01-0163928569600000000018UTC или местное, по Kindсвойство DateTime.Ticks
Excel 1900дни1899-12-30463215нет: время на часахExcel, Google Sheets, LibreOffice
Excel 1904дни1904-01-01448595нет: время на часахстарые версии Excel для Mac
Mac HFS+секунды1904-01-01387581760010GMT (в классической HFS — местное)даты файлов HFS+
NTP-секундысекунды1900-01-01400196160010UTCпакеты NTP
GPS-секундысекунды1980-01-06147700801810без високосных секунд: UTC + 18 сGPS-приёмники, файлы RINEX
Каждое значение — один и тот же момент, 26 октября 2026 г., 00:00 UTC, на своей шкале; все они рассчитаны движком, на котором работает эта страница. Google Sheets и LibreOffice тоже считают дни от 1899-12-30, поэтому начиная с 1 марта 1900 г. их числа совпадают с числами Excel. Источник: [MS-DTYP] 2.3.3, DateTime.Ticks, Excel, Google Sheets, LibreOffice, TN1150, RFC 5905, RINEX 3.05

Учитывает ли Unix-время високосные секунды?

Нет. В Unix-времени в каждых сутках ровно 86 400 секунд, поэтому у високосной секунды нет своего номера, и POSIX говорит об этом прямо: время POSIX, разложенное на дату и время, не обязательно является UTC, несмотря на внешний вид.

С 1972 года к UTC добавили 27 високосных секунд; в Unix-времени для лишней секунды нет числа, поэтому одна метка времени обозначает две секунды. Последняя была 2016-12-31, а в 2022 году Генеральная конференция по мерам и весам решила к 2035 году увеличить допуск, из-за которого они нужны, что на практике их отменяет. GPS-время, в котором их никогда не было, показывает разницу: оно опережает UTC на 18 секунд.

Последние секунды 31 декабря 1998 г.

UTC23:59:5823:59:5923:59:6000:00:0000:00:01
Unix-время915148798915148799915148800915148800915148801
GPS-время599184010599184011599184012599184013599184014

Unix-время выдаёт 915148800 дважды; GPS-время, в котором нет високосных секунд, продолжает счёт.

27 високосных секундни одной после 31 декабря 2016 г. · ни одной не объявлено до 28 июня 2027 г.

до начала GPS-временипосле начала GPS-времени: каждая уводила его ещё на секунду вперёд

Всемирное координированное время (UTC) включает високосные секунды. Однако во времени POSIX (секундах с начала Эпохи) високосные секунды игнорируются (не применяются), чтобы обеспечить простой и совместимый способ вычисления разностей времени. Поэтому время POSIX, разложенное на дату и время, не обязательно является UTC, несмотря на внешний вид.

POSIX.1-2024, Rationale A.4.19
Сразу после этой високосной секунды GPS-время опережало UTC на 13 секунд. Источник: POSIX.1-2024 A.4.19, leap-seconds.list, RINEX 3.05

Unix timestamp в Python, JavaScript, Java, C#, Go, SQL и командной строке

В любом языке перевод в обе стороны занимает строку-две. Ловушки — единица (JavaScript и Java считают миллисекунды) и часовой пояс (база данных может читать значение в часовом поясе своей сессии).

Каждый пример ниже переводит 817876800 в дату, а дату обратно в секунды, и каждый был запущен, чтобы проверить вывод. В командной строке macOS и BSD принимают date -r 817876800, а GNU/Linux — date -d @817876800: эти варианты не взаимозаменяемы.

from datetime import datetime, timezone

t = datetime.fromtimestamp(817876800, tz=timezone.utc)
print(t.isoformat())  # 1995-12-02T04:00:00+00:00

back = datetime(1995, 12, 2, 4, 0, tzinfo=timezone.utc)
print(int(back.timestamp()))  # 817876800

Запущено 26 октября 2026 г. (Python 3.14.4): выводит то, что показано в комментариях.

Каждая вкладка — целая программа или сеанс, который работает в том виде, как вставлен; во вкладке командной строки выполните половину для своей системы. Источник: docs.python.org, ECMA-262, Instant, DateTimeOffset, pkg.go.dev/time, PostgreSQL, MySQL, date(1), GNU Coreutils

Epoch-время: вопросы и ответы

Что такое epoch-время (Unix-время)?

Epoch-время, его ещё называют Unix-временем или Unix timestamp, — это число секунд, прошедших с 1970-01-01 00:00:00 UTC, без учёта високосных секунд. Компьютеры хранят даты так, потому что одно число легко сравнивать, сортировать и передавать. Timestamp 1000000000 пришёлся на 2001-09-09 01:46:40 UTC, а поле вверху страницы переводит в дату любое значение.

Как перевести epoch-время в дату?

Вставьте число в поле вверху. Страница читает его как секунды, миллисекунды, микросекунды и наносекунды, выбирает прочтение, которое даёт реальную дату, и показывает эту дату в вашем часовом поясе и в UTC. Вручную умножьте секунды на 1000 и передайте их функции даты, например new Date(817876800 * 1000) в JavaScript.

Какое сейчас epoch-время?

Часы на этой странице показывают текущее Unix-время в реальном времени — в секундах, миллисекундах, микросекундах и наносекундах, и любое значение можно скопировать. Время берётся из часов вашего устройства, поэтому оно точно ровно настолько, насколько точны эти часы; компьютер, который синхронизируется через интернет, обычно ошибается меньше чем на долю секунды. В командной строке его выводит date +%s, в секундах.

Unix timestamp — в секундах или в миллисекундах?

Классические метки времени Unix — в секундах, но JavaScript, Java и многие веб-API используют миллисекунды, а некоторые базы данных и логи — микросекунды или наносекунды. У текущей метки времени 10 цифр в секундах и 13 в миллисекундах. Если дата получается в 1970 году или через тысячи лет, единица неверна; эта страница пробует все единицы и показывает, какая из них имеет смысл.

Почему Unix-время начинается в 1970 году?

Ни один первоисточник не называет причину. Первое руководство по Unix, 1971 года, считало шестидесятые доли секунды с 1 января 1971 года и ожидало, что счёт закончится через несколько лет. Когда счёт перевели на целые секунды, началом стало 1 января 1970 года: круглая дата, близкая ко времени, когда писался Unix, от которой 32-битный счёт секунд достаёт до 2038 года.

Unix-время — это то же самое, что UTC?

Почти, но не совсем. Unix-время следует календарю и часам UTC, но в каждых его сутках ровно 86 400 секунд, а високосные секунды игнорируются, поэтому у високосной секунды нет своей метки времени. Сам POSIX говорит, что Unix-время, разложенное на дату и время, не обязательно является UTC. В датах и времени, которые читают люди, разница не видна; в точных интервалах через високосную секунду — видна.

Что такое проблема 2038 года?

Unix-время, хранящееся как знаковое 32-битное число, может дойти только до 2147483647, то есть до 2038-01-19 03:14:07 UTC. Через секунду оно переполняется и читается как декабрь 1901 года. Современные операционные системы используют 64-битное время и в безопасности, но 32-битные поля остаются в некоторых базах данных, форматах файлов и встраиваемых устройствах: например, столбец TIMESTAMP в MySQL по-прежнему заканчивается на этой секунде.

Можно ли перевести дату до 1970 года?

Да. Даты до 1970 года — это отрицательные метки времени: -1 — это 1969-12-31 23:59:59 UTC, а дата в 1950 году — примерно -631 миллион. Вставьте отрицательное число, и страница покажет его дату; введите более раннюю дату, и вы получите отрицательное значение. Строгий POSIX оставляет отрицательные значения неопределёнными, а TIMESTAMP в MySQL не может их хранить, но большинство языков и баз данных читают их как даты до 1970 года.

Как перевести Windows FILETIME в дату?

FILETIME считает 100-наносекундные интервалы с 1601-01-01 UTC, поэтому сегодня в нём 18 цифр. Вставьте его в поле, и страница прочитает его как FILETIME наряду с единицами Unix: 133756272000000000 — это 2024-11-09 12:00:00 UTC. Вручную вычтите 116444736000000000 и разделите на 10 000 000, чтобы получить Unix-секунды.

Как перевести дату Excel в timestamp?

Дата Excel — это число дней, где время записано дробной частью: в системе 1900, которая действует по умолчанию, 45658 — это 2025-01-01. Вставьте это число, и страница прочитает его как дату Excel и в системе 1900, и в системе 1904. Excel намеренно считает 1900 год високосным, поэтому числа меньше 61 сдвинуты на день, и страница помечает их, а не гадает.

Учитывает ли конвертер часовые пояса и летнее время?

Да. Страница показывает каждую дату в вашем часовом поясе и в UTC, и можно выбрать любой пояс IANA, например America/New_York или Asia/Kolkata. Летнее время применяется для переводимой даты, а не для сегодняшнего дня, поэтому летний timestamp показывает летнее время даже зимой. Дата, введённая без смещения, читается как UTC, а одним щелчком её можно прочитать в вашем поясе.

Отправляется ли мой timestamp куда-нибудь?

Нет. Перевод выполняется в вашем браузере, поэтому вставленное никогда не покидает ваше устройство и ни один сервер его не видит. Ссылка, созданная кнопкой «Копировать ссылку», несёт timestamp в своём адресе, чтобы открытая по ней страница сразу показала дату; больше ничего не сохраняется и не отправляется.

Чего-то не хватает?Предложите функцию или новый инструмент