Конвертер Unix timestamp в дату и обратно
Конвертер времени Unix: вставьте timestamp или дату и получите её словами, в вашем часовом поясе и в UTC, и всё, чем ещё может быть число.
Одно число · все эпохи
7 прочтений дают реальную датуПрочитано как Unix-секунды по длине: 9 цифр. Как GPS-секунды это было бы 6 декабря 2005 г.: тоже реальная дата, поэтому этот вариант доступен в один клик.
- Миллисекунды
- Микросекунды
- Наносекунды
- ISO 8601
Часы вашего браузера считают целые миллисекунды: нули после них — заполнение, а не точность.
UTC · UTC+00:00 на эту дату
1793813880- Миллисекунды
1793813880000- ISO 8601
2026-11-04T17:38:00Z
Начало и конец по времени UTC
| Начало | Конец | |
|---|---|---|
| День | 1793750400 | 1793836799 |
| Месяц | 1793491200 | 1796083199 |
| Год | 1767225600 | 1798761599 |
Всё происходит в этой вкладке: ничего из вставленного никуда не отправляется.
Как пользоваться конвертером времени Unix
Вставьте ваш timestamp в поле, в какой бы единице он ни был, и дата появится в вашем часовом поясе и в UTC. Можно ввести и дату, заголовок Date из письма или слово сейчас, чтобы получить epoch-время.
Страница читает число сразу как секунды, миллисекунды, микросекунды и наносекунды, выбирает прочтение, которое даёт реальную дату, объясняет почему, а остальные прочтения оставляет доступными в один клик. Под ответом те же цифры прочитаны как метка времени Windows, .NET, Mac, Excel, NTP и GPS, и любой формат можно скопировать.

Вставьте что угодноЧисло в любой единице, дату ISO, заголовок Date из письма, SQL datetime или слово «сейчас». Метка показывает, как это прочитано.Цифры посчитаныЛинейка под числом делит его цифры на группы по три, и 18 цифр читаются как шесть групп: первая подсказка, что это за число.Сначала ответДень недели и дата словами, затем время в UTC и в вашем часовом поясе и все форматы для копирования.Какое прочтение и почемуСтраница словами объясняет, какое прочтение выбрала и почему, и называет другое прочтение, которое тоже даёт реальную дату.Все остальные эпохиТе же цифры, прочитанные во всех единицах и всех эпохах, каждая — полоса от собственного начала. Выберите строку, чтобы использовать это прочтение.Что такое 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 по соглашению.
переполнился 8 апреля 1973 г. · 2,27 года
1901-12-13 → 2038-01-1968 лет в каждую сторону
отрицательные значения: до 1970 года
UNIX Programmer's Manual, первая редакция, time (II), 3 ноября 1971 г.
Хронологически--мыслящий пользователь заметит, что 2**32 шестидесятых долей секунды — это всего около 2,5 года.
Все эпохи, которые читает эта страница, на одной линии
- 1
.NET
0001-01-01· тики по 100 нс - 2
Windows FILETIME
1601-01-01· тики по 100 нс - 3
Excel
1899-12-30· дни - 4NTP
1900-01-01· секунды - 5
Mac HFS+
1904-01-01· секунды - 6
Excel 1904
1904-01-01· дни - 7Unix
1970-01-01· секунды - 8GPS
1980-01-06· секунды
Мой timestamp в секундах, миллисекундах, микросекундах или наносекундах?
Посчитайте цифры: у текущей метки времени 10 цифр в секундах, 13 в миллисекундах, 16 в микросекундах и 19 в наносекундах. JavaScript и Java используют миллисекунды, а утилиты Unix и большинство API — секунды.
Число цифр — сильная подсказка, но не доказательство. Метки времени NTP, GPS и Mac сегодня тоже десятизначные, а Windows FILETIME и число тиков .NET — оба восемнадцатизначные, поэтому эта страница читает все шкалы сразу и показывает выбранное прочтение рядом с остальными. К тому же FILETIME больше, чем JavaScript может хранить точно, поэтому страница сохраняет цифры такими, какими вы их вставили.
10 цифр · 4 шкалы · по одним цифрам не понять, какая это шкала
18 цифр · 2 шкалы · различаются только первой цифрой
Секунды длиной 10 цифр — это значения от 2001-09-09T01:46:40Z до 2286-11-20T17:46:39Z. Это промежуток в 285 лет, а не единица измерения.
Как перевести 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час, который был дваждычас, которого не было
Что случится с 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
time_t2038-01-19 03:14:07TIMESTAMP в MySQL2038-01-19 03:14:07сегодня2038-01-19
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: отрицательные значения как расширение POSIXJavaScriptлюбая дата в пределах примерно 273 790 лет от 1970 года в обе стороны
MySQL TIMESTAMPначинается с 1970-01-01 00:00:01 UTC: отрицательное значение в нём не хранится
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-01 | 1792972800 | 10 | UTC (POSIX) | date +%s, time.time() в Python |
| миллисекунды | 1970-01-01 | 1792972800000 | 13 | UTC | Date.now() в JavaScript, Java | |
| наносекунды | 1970-01-01 | 1792972800000000000 | 19 | UTC | UnixNano() в Go | |
| тики по 100 нс | 1601-01-01 | 134374464000000000 | 18 | UTC (на FAT — местное время) | NTFS, lastLogon в Active Directory, Win32 | |
| тики по 100 нс | 0001-01-01 | 639285696000000000 | 18 | UTC или местное, по Kind | свойство DateTime.Ticks | |
| дни | 1899-12-30 | 46321 | 5 | нет: время на часах | Excel, Google Sheets, LibreOffice | |
| дни | 1904-01-01 | 44859 | 5 | нет: время на часах | старые версии Excel для Mac | |
| секунды | 1904-01-01 | 3875817600 | 10 | GMT (в классической HFS — местное) | даты файлов HFS+ | |
| NTP-секунды | секунды | 1900-01-01 | 4001961600 | 10 | UTC | пакеты NTP |
| GPS-секунды | секунды | 1980-01-06 | 1477008018 | 10 | без високосных секунд: UTC + 18 с | GPS-приёмники, файлы RINEX |
Учитывает ли Unix-время високосные секунды?
Нет. В Unix-времени в каждых сутках ровно 86 400 секунд, поэтому у високосной секунды нет своего номера, и POSIX говорит об этом прямо: время POSIX, разложенное на дату и время, не обязательно является UTC, несмотря на внешний вид.
С 1972 года к UTC добавили 27 високосных секунд; в Unix-времени для лишней секунды нет числа, поэтому одна метка времени обозначает две секунды. Последняя была 2016-12-31, а в 2022 году Генеральная конференция по мерам и весам решила к 2035 году увеличить допуск, из-за которого они нужны, что на практике их отменяет. GPS-время, в котором их никогда не было, показывает разницу: оно опережает UTC на 18 секунд.
Последние секунды 31 декабря 1998 г.
Unix-время выдаёт 915148800 дважды; GPS-время, в котором нет високосных секунд, продолжает счёт.
27 високосных секундни одной после 31 декабря 2016 г. · ни одной не объявлено до 28 июня 2027 г.
до начала GPS-временипосле начала GPS-времени: каждая уводила его ещё на секунду вперёд
POSIX.1-2024, Rationale A.4.19
Всемирное координированное время (UTC) включает високосные секунды. Однако во времени POSIX (секундах с начала Эпохи) високосные секунды игнорируются (не применяются), чтобы обеспечить простой и совместимый способ вычисления разностей времени. Поэтому время POSIX, разложенное на дату и время, не обязательно является UTC, несмотря на внешний вид.
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): выводит то, что показано в комментариях.
const t = new Date(817876800 * 1000); // Date counts milliseconds console.log(t.toISOString()); // 1995-12-02T04:00:00.000Z const back = Date.UTC(1995, 11, 2, 4, 0, 0) / 1000; // months count from 0 console.log(back); // 817876800
Запущено 26 октября 2026 г. (Node.js 22.23.2): выводит то, что показано в комментариях.
import java.time.Instant;
public class Main {
public static void main(String[] args) {
Instant t = Instant.ofEpochSecond(817876800L);
System.out.println(t); // 1995-12-02T04:00:00Z
long back = Instant.parse("1995-12-02T04:00:00Z").getEpochSecond();
System.out.println(back); // 817876800
}
}Запущено 26 октября 2026 г. (OpenJDK 25.0.2): выводит то, что показано в комментариях.
var t = DateTimeOffset.FromUnixTimeSeconds(817876800); Console.WriteLine(t.ToString("o")); // 1995-12-02T04:00:00.0000000+00:00 var back = new DateTimeOffset(1995, 12, 2, 4, 0, 0, TimeSpan.Zero).ToUnixTimeSeconds(); Console.WriteLine(back); // 817876800
Запущено 26 октября 2026 г. (.NET 10.0.103): выводит то, что показано в комментариях.
package main import ( "fmt" "time" ) func main() { t := time.Unix(817876800, 0).UTC() fmt.Println(t.Format(time.RFC3339)) // 1995-12-02T04:00:00Z back := time.Date(1995, 12, 2, 4, 0, 0, 0, time.UTC).Unix() fmt.Println(back) // 817876800 }
Запущено 26 октября 2026 г. (Go 1.25.5): выводит то, что показано в комментариях.
SET TIME ZONE 'UTC'; SELECT to_timestamp(817876800); -- 1995-12-02 04:00:00+00 SELECT EXTRACT(EPOCH FROM TIMESTAMPTZ '1995-12-02 04:00:00+00')::bigint; -- 817876800
Запущено 26 октября 2026 г. (PostgreSQL 16.10): выводит то, что показано в комментариях.
SET time_zone = '+00:00'; SELECT FROM_UNIXTIME(817876800); -- 1995-12-02 04:00:00 SELECT UNIX_TIMESTAMP('1995-12-02 04:00:00'); -- 817876800
Запущено 26 октября 2026 г. (MySQL 9.5.0): выводит то, что показано в комментариях.
# macOS and the BSDs: -r takes seconds date -u -r 817876800 '+%F %T' # 1995-12-02 04:00:00 date -u -j -f '%F %T' '1995-12-02 04:00:00' +%s # 817876800 # Linux (GNU coreutils): -d @seconds; GNU's -r reads a file's date date -u -d @817876800 '+%F %T' # 1995-12-02 04:00:00 date -u -d '1995-12-02 04:00:00' +%s # 817876800
Запущено 26 октября 2026 г. (команда date из macOS 26.6 и из GNU coreutils 9.12): выводит то, что показано в комментариях.
Epoch-время: вопросы и ответы
Что такое epoch-время (Unix-время)?
Как перевести epoch-время в дату?
new Date(817876800 * 1000) в JavaScript.Какое сейчас epoch-время?
date +%s, в секундах.Unix timestamp — в секундах или в миллисекундах?
Почему Unix-время начинается в 1970 году?
Unix-время — это то же самое, что UTC?
Что такое проблема 2038 года?
TIMESTAMP в MySQL по-прежнему заканчивается на этой секунде.Можно ли перевести дату до 1970 года?
TIMESTAMP в MySQL не может их хранить, но большинство языков и баз данных читают их как даты до 1970 года.Как перевести Windows FILETIME в дату?
Как перевести дату Excel в timestamp?
Учитывает ли конвертер часовые пояса и летнее время?
Отправляется ли мой timestamp куда-нибудь?
Чего-то не хватает?Предложите функцию или новый инструмент
Похожие инструменты
Генератор UUID
Генерация UUID v4, v7, v1, v5 и v3 или GUID пачкой в любом формате и декодирование версии и времени создания UUID
Base64 декодер и кодировщик
Декодирование и кодирование Base64: текст (UTF-8, URL-безопасный), картинки, PDF и любые файлы в Base64 или data URI
Бинарный переводчик
Перевод текста в двоичный код и обратно: автоопределение, hex, десятичная и восьмеричная запись
Калькулятор подсетей
Сеть, широковещательный адрес, доступные хосты и маски для любого блока IPv4 или IPv6, а также VLSM, разбиение и облачные подсети