Що таке Конвертер часових позначок Unix?
Конвертер Unix Timestamp — це незамінний інструмент для розробників, який з\'єднує машинозчитуваний час епохи та людські дати. Unix-час (також званий часом епохи) вимірює кількість секунд, що минули з 1 січня 1970 00:00:00 UTC — моменту, коли операційна система Unix вперше запустилася на комп\'ютері PDP-11 у лабораторіях Bell Labs. Ця дата відома як Unix-епоха і служить універсальною точкою відліку часу в обчисленнях. Конвертер працює у двох напрямках: введіть Unix timestamp (зазвичай 10-значне число для секунд або 13-значне для мілісекунд), щоб побачити відповідну людську дату, або введіть дату та час, щоб отримати його еквівалентний Unix timestamp. Живе відображення поточного timestamp оновлюється щосекунди, щоб ви могли зафіксувати точний момент одним кліком. Date.now() з JavaScript та більшість сучасних API повертають timestamp у мілісекундах (13 цифр), тоді як бази даних та застарілі системи часто використовують секунди (10 цифр) — плутанина між ними є однією з найпоширеніших помилок у веб-розробці. Конвертер також обробляє від\'ємні timestamp, що представляють дати до епохи (31 грудня 1969 та раніше). Перемикайте між UTC та місцевим часом для перевірки значень, чутливих до часового поясу.
Коли використовувати цей калькулятор
- Ви налагоджуєте API, яка повертає мітки часу Unix, і вам потрібно прочитати їх як людські дати
- Ви пишете код, який зберігає або порівнює дати, і вам потрібно перетворити між міткою часу та форматом дати
- Вам потрібна поточна мітка часу Unix для запису в журналі, виклику API або запису в базі даних
- Ви аналізуєте журнали сервера, де мітки часу у форматі epoch
- Ви хочете перевірити, що мітка часу у вашому коді відповідає правильній даті та часу
- Ви працюєте з базами даних або файловими системами, які використовують мітки часу Unix для метаданих файлів
Кроки:
- Введіть мітку часу Unix, щоб перетворити її на зручну для читання дату.
- Або введіть дату/час, щоб перетворити її на мітку часу Unix.
- Натисніть кнопку поточного часу, щоб отримати поточну мітку часу Unix.
- Скопіюйте результати кнопкою копіювання.
Формула
Мітка часу → Дата: new Date(timestamp × 1000)
Дата → Мітка часу: Math.floor(date.getTime() / 1000)
Епоха Unix: 1 січня 1970 00:00:00 UTC
Максимальна 32-бітна мітка: 19 січня 2038 (03:14:07 UTC)
Випадки використання
- Налагодження відповідей API з мітками часу
- Перетворення значень міток часу бази даних
- Встановлення термінів дії в коді
- Аналіз журналів та інтерпретація даних часових рядів
Ключові переваги
- Миттєве перетворення між Unix timestamp та людськими датами в обох напрямках
- Поточний Unix timestamp у реальному часі оновлюється щосекунди з кнопкою копіювання одним кліком
- Перемикання між UTC та місцевим часом для перевірки значень, чутливих до часового поясу
- Обробка як 10-значного (секунди), так і 13-значного (мілісекунди) форматів timestamp
- Обробка від\'ємних timestamp для дат до Unix-епохи (до 1970 року)
- Безкоштовно, миттєво і працює у вашому браузері без реєстрації або збору даних
Поради
- Завжди зберігайте timestamp в UTC у базах даних — конвертуйте в місцевий час лише для відображення.
- Пам\'ятайте, що Date.now() з JavaScript повертає мілісекунди. Для отримання секунд: Math.floor(Date.now() / 1000).
- Використовуйте 64-бітні цілі числа для зберігання timestamp у нових системах, щоб уникнути проблеми переповнення 2038 року.
- Під час налагодження неочікуваних дат спочатку перевірте, чи знаходиться timestamp у секундах чи мілісекундах — різниця в 1000 разів.
- Для токенів автентифікації API або підписаних URL обчисліть timestamp закінчення на стороні сервера та порівняйте з поточним Unix-часом для перевірки дійсності.
Поширені помилки
- Забувати, що Date.now() з JavaScript повертає мілісекунди — завжди діліть на 1000 при порівнянні з timestamp, заснованими на секундах.
- Припускати, що всі API використовують той самий формат — деякі повертають секунди, інші мілісекунди. Завжди перевіряйте документацію API.
- Не враховувати різницю в часових поясах місця створення timestamp та місця його перегляду, через що дати здаються різними на кілька годин.
- Використовувати 32-бітні цілі числа для зберігання timestamp у нових системах замість 64-бітних, які переповняться у 2038 році та зламають додаток.
Ключові терміни
- Unix timestamp: Кількість секунд, що минули з 1 січня 1970 00:00:00 UTC (Unix-епоха)
- Епоха: Опорна точка для вимірювання часу в обчисленнях; для Unix це 1 січня 1970 00:00:00 UTC
- UTC (Всесвітній координований час): Основний часовий стандарт, що використовується у всьому світі, незалежний від будь-якого часового поясу
- Проблема 2038 року: Дата, коли 32-бітні Unix timestamp переповняться, змушуючи системи перейти на від\'ємні значення та відображати дати навколо 1901 року.
- Timestamp у мілісекундах: 13-значний Unix timestamp, де час вимірюється в мілісекундах замість секунд, використовується JavaScript Date.now() та більшістю сучасних API.
Пов'язані концепції
- Епоха Unix: 1 січня 1970 00:00:00 UTC, опорна точка, від якої вимірюються всі мітки часу Unix
- Час Epoch: система представлення часу як кількості секунд, що минули від епохи Unix
- UTC (всесвітній координований час): основний часовий стандарт, за яким світ регулює годинники та час, незалежний від часового поясу
- Проблема 2038 року: дата, коли 32-бітні мітки часу Unix переповняться, потенційно змушуючи системи інтерпретувати дату як 1901
- ISO 8601: міжнародний стандарт для представлення дат і часів (наприклад, 2024-06-29T12:00:00Z) як альтернатива міткам часу Unix
Приклад
Поточна мітка: 1719676800 → Дата: 29 червня 2024 12:00:00 PM UTC. Перетворення дати: "1 січня 2025 00:00:00 UTC" → Мітка: 1735689600.
Інтерпретація результатів
Конвертер працює в двох напрямках: введення мітки часу Unix дає зручну для читання дату, а введення дати дає мітку часу Unix. Поточний час Unix відображається зверху з кнопкою оновлення, тому ви завжди можете бачити мітку в реальному часі, нічого не вводячи.
Мітки часу Unix рахують секунди з 1 січня 1970 UTC (епоха Unix). Вони незалежні від часового поясу — одна й та сама мітка представляє той самий момент у будь-якій точці Землі. Коли ви вводите дату, конвертер використовує ваше місцеве зміщення часового поясу для обчислення мітки, але ви можете перемкнутися на UTC, якщо вам потрібні результати, нейтральні до часового поясу.
Проблему 2038 року варто зрозуміти: 32-бітні знакові цілі числа переповнюються 19 січня 2038 року, що означає, що успадковані системи, які використовують 32-бітні мітки, перейдуть до від'ємних значень. Сучасні системи використовують 64-бітні мітки, які не переповняться мільярди років. Якщо ви зіткнетеся з неочікуваними датами близько 1901 або 2038 року, ймовірною причиною є 32-бітне переповнення.

