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; інструмент працює суто на стороні клієнта й повністю функціональний офлайн після завантаження.