Timestamp Converter
Convert between timestamps and human-readable dates
Features
- Двусторонняя конвертация между Unix-метками времени (секунды с 1970-01-01T00:00:00Z) и читаемыми датами через встроенный объект Date браузера
- Живое отображение текущего epoch с обновлением одним кликом плюс форматированный вывод в локали браузера и в ISO 8601 (YYYY-MM-DDTHH:mm:ss.sssZ)
- Быстрые кнопки относительного времени: 1 час назад, 1 день назад, 1 неделя назад, 1 месяц назад — вычисляются в момент клика
- Встроенные референсные метки: Unix epoch (1 янв. 1970), Y2K (1 янв. 2000), выпуск iPhone (29 июн. 2007), Bitcoin Genesis Block (3 янв. 2009)
- Принимает стандартные форматы дат, которые разбирает Date.parse: ISO 8601, RFC 2822, datetime-local и многие локальные строки
- Валидация ввода различает «недопустимая метка времени» (нечисловой ввод) и «недопустимая дата» (не разбирается) с понятными локализованными сообщениями
- Кнопка «Текущее время» заполняет поле даты в локальном формате datetime-local и сразу конвертирует
- Кнопки копирования рядом с каждым результатом — пустые поля и состояния ошибок исключены, чтобы буфер обмена не получал устаревшее содержимое
How to use
- Чтобы превратить метку времени в дату, вставьте 10-значный Unix epoch (секунды) в поле «Метка времени»; инструмент умножает на 1000 для Date().
- Чтобы превратить дату в метку времени, введите или вставьте дату в любом формате, разбираемом Date() (ISO 8601, например 2026-01-15T10:30:00Z, — лучший выбор).
- Или нажмите «Текущее время», чтобы заполнить поле даты текущим моментом и увидеть соответствующий epoch.
- Используйте кнопки быстрых преобразований (1 час/день/неделя/месяц назад), чтобы получить относительные метки для фильтрации логов или расчёта TTL кеша.
- Нажмите значок копирования рядом с результатом; вывод доступен в локали браузера и в ISO 8601 для машинного использования.
- Нажмите «Очистить», чтобы сбросить оба поля при начале новой конвертации.
Tips & Best Practices
- Всегда указывайте часовой пояс при работе с метками времени, чтобы избежать путаницы.
- Используйте UTC как стандартный референсный пояс для международных приложений.
- Проверяйте переходы летнего времени при конвертации дат.
- Сохраняйте часто используемые конвертации в закладки для быстрого доступа.
- Копируйте результаты прямо в код или файлы конфигурации.
FAQ
Секунды или миллисекунды — какую Unix-метку времени ожидает инструмент?
Этот инструмент использует Unix-метки времени в секундах (10 цифр для современных дат, например 1735689600) — это стандарт POSIX, используемый C time(), Linux, MySQL UNIX_TIMESTAMP() и большинством API. Date.now() в JavaScript и многие JSON-API используют миллисекунды (13 цифр). Если у вас 13-значное число, разделите его на 1000 перед вставкой или вставьте строку даты непосредственно в поле «Дата».
Как обрабатываются часовые пояса?
Unix-метки времени по своей природе UTC — одинаковый момент независимо от часового пояса. При конвертации метка→дата вывод использует локальный пояс браузера через toLocaleString(), а поле ISO показывает эквивалент в UTC. При конвертации дата→метка двусмысленные строки (например, '2026-01-15') трактуются как ваш локальный пояс, а ISO-строки с Z или смещением (+02:00) однозначны. Для надёжности между системами всегда указывайте смещение.
Что такое Unix epoch и почему 1 января 1970?
Unix epoch — это 1970-01-01T00:00:00Z, выбранная Bell Labs как круглая точка отсчёта вблизи разработки Unix (1969-1971). Метка времени 0 соответствует именно этому моменту; метки считают прошедшие секунды (отрицательные значения — до 1970). Почти все современные ОС и языки программирования отсчитывают от этой epoch, что делает её lingua franca времени в информатике.
А проблема 2038 года?
Системы, хранящие Unix-метки как знаковое 32-битное целое, переполняются 19 января 2038 в 03:14:07 UTC (метка 2147483647) и переходят в отрицательное значение, представляющее 1901. JavaScript и современные 64-битные системы используют 64-битные числа и безопасны примерно 292 миллиарда лет. Если вы аудируете старый C, столбцы MySQL TIMESTAMP или встроенное ПО, спланируйте миграцию на 64-битный time_t или миллисекундный Unix до 2038 года.
Можно ли преобразовать метку времени именно в ISO 8601?
Да — после конвертации инструмент также выводит ISO 8601-форму через Date.toISOString(), это YYYY-MM-DDTHH:mm:ss.sssZ в UTC. ISO 8601 — единственный формат, который стоит передавать между системами: однозначный, сортируется как строка и нативно поддерживается JavaScript, Python fromisoformat, Postgres TIMESTAMPTZ и практически любым современным API. Избегайте американского 'MM/DD/YYYY' или европейского 'DD/MM/YYYY' для межсистемных данных.
Почему моя строка даты возвращает ошибку «недопустимая дата»?
Date.parse терпим, но непоследователен между браузерами для не-ISO форматов. Надёжные входы — ISO 8601 ('2026-01-15T10:30:00Z'), формат datetime-local ('2026-01-15T10:30') и полный RFC 2822 ('Thu, 15 Jan 2026 10:30:00 GMT'). Избегайте кратких форматов вроде '15/01/2026' (двусмысленно) или 'Jan 15' (нет года). Если у вас свой формат из лог-файла, сначала нормализуйте его до ISO 8601.
Работает ли с SQL-метками и полями БД?
Да, с оговоркой: большинство SQL-серверов хранят TIMESTAMP/DATETIME без информации о поясе, поэтому значение колонки — это «настенное» время относительно пояса сессии сервера. Перед вставкой добавьте смещение сервера (например, '2026-01-15 10:30:00+00'). PostgreSQL TIMESTAMPTZ, MySQL TIMESTAMP (хранится в UTC внутри) и SQLite — все хорошо работают с ISO 8601.
Отправляется ли что-нибудь на сервер?
Нет. Все преобразования используют встроенный конструктор Date браузера и Math.floor — сетевые запросы не выполняются. Часы текущего времени читают системные часы устройства. Это можно проверить во вкладке «Сеть» DevTools; инструмент работает чисто на стороне клиента и полностью функционален офлайн после загрузки.