Unix Timestamp Converter

Convert between Unix timestamps and human-readable dates instantly

Усі обчислення виконуються локально у вашому браузері. Жодні дані не відправляються на наші сервери та нікуди не зберігаються.

Що таке Unix Timestamp?

Unix timestamp (також відомий як Epoch time або POSIX time) — це числове представлення часу, що підраховує кількість секунд (або мілісекунд), які пройшли з 1 січня 1970 року о 00:00:00 UTC. Цей момент відомий як "Unix Epoch" і слугує нульовою точкою для всіх обчислень Unix timestamp. Ця система забезпечує стандартизований, незалежний від часових поясів спосіб представлення дат і часу в комп'ютерних системах по всьому світу.

Unix timestamps є фундаментальними для сучасних обчислень і широко використовуються у програмуванні, базах даних, API та системах, яким потрібне узгоджене відстеження часу в різних часових поясах і платформах. Формат простий, компактний і усуває складнощі з часовими поясами, переходом на літній час і невідповідностями форматування дат.

Ключові особливості Unix Timestamps

  • Універсальний стандарт: Те саме значення timestamp відповідає тому ж моменту глобально, незалежно від часового поясу
  • Простий формат: Лише одне ціле число, що представляє час у секундах або мілісекундах
  • Легкі обчислення: Різниці у часі — це прості арифметичні операції
  • Компактне зберігання: Вимагає лише 32 або 64 біти пам'яті
  • Зручність для програмування: Нативна підтримка у всіх основних мовах програмування
  • Ефективність для баз даних: Ідеально підходить для сортування та індексації записів за часом
  • Незалежність від часового поясу: Усуває плутанину через DST і регіональні часові відмінності

Розуміння форматів timestamp

Unix timestamps бувають у двох основних форматах, кожен підходить для різних вимог до точності:

1. Секунди (10 цифр)

Традиційний формат Unix timestamp, що рахує секунди з 1970 року. Приклад: 1698768000

Представляє: October 31, 2023, 12:00:00 UTC

2. Мілісекунди (13 цифр)

Формат з більшою точністю, що рахує мілісекунди з 1970 року. Приклад: 1698768000000

Використовується JavaScript, Node.js та системами, які потребують точності до мілісекунд

Порівняння форматів

Event Формат у секундах Формат у мілісекундах
Unix Epoch (Початок) 0 0
Y2K (2000-01-01) 946684800 946684800000
Приклад часу 1698768000 1698768000000
Межа проблеми Y2038 2147483647 2147483647000

💡 Автовизначення: Наш конвертер автоматично визначає формат за кількістю цифр: 10 digits = seconds, 13 digits = milliseconds. The relationship is simple: milliseconds = seconds × 1000.

Як конвертувати Unix timestamps

Перетворення між Unix timestamps і зручними для людей датами є простим за допомогою відповідних інструментів. Наш конвертер обробляє обидва напрямки конвертації і автоматично підтримує кілька форматів виводу.

Unix Timestamp → Зручна для людини дата

Вхід: 1698768000

ISO 8601: 2023-10-31T12:00:00.000Z

UTC: Tue, 31 Oct 2023 12:00:00 GMT

Місцевий час: Залежить від вашого часового поясу

Відносно: "X днів тому" або "через X днів"

Зручна для людини дата → Unix Timestamp

Вхід: October 31, 2023, 12:00:00 PM

Секунди: 1698768000

Мілісекунди: 1698768000000

Швидкі пресети

Поширені timestamps для тестування та довідки:

  • Зараз: Поточний timestamp (оновлюється в реальному часі)
  • Unix Epoch: 0 (January 1, 1970, 00:00:00 UTC)
  • Y2K: 946684800 (January 1, 2000, 00:00:00 UTC)

Поширені сценарії використання Unix Timestamps

Unix timestamps всюди використовуються в сучасній розробці програмного забезпечення та адмініструванні систем:

  • Записи в базі даних: Ефективне зберігання часу створення/модифікації записів
  • Відповіді API: Обмін часовими даними між системами без складнощів з часовими поясами
  • Файлові логи: Позначення часу подій у server logs, application logs та audit trails
  • Управління сесіями: Відстеження терміну дії сесій користувачів і автентифікаційних токенів
  • Заплановані завдання: Визначення часу виконання cron jobs та автоматичних задач
  • Система контролю версій: Запис часових міток комітів у Git та інших VCS
  • Файлові системи: Відстеження часу створення, модифікації та доступу до файлів
  • Закінчення терміну кешу: Встановлення TTL (time-to-live) для кешованих даних
  • Аналіз даних: Обробка тимчасових рядів та тимчасова аналітика
  • JavaScript/Node.js: Date.now() повертає мілісекундний Unix timestamp

Розуміння проблеми Y2038

⚠️ Важлива примітка: Проблема Y2038 (також звана Unix Millennium Bug) впливає на 32-bit системи, які зберігають Unix timestamps як signed integers. 19 січня 2038 року о 03:14:07 UTC 32-bit timestamps переповняться і перейдуть у від'ємні значення, що може спричинити збої в системах.

Максимальне значення для 32-bit signed integer становить 2147483647, який представляє останній момент перед переповненням. Сучасні 64-bit системи не підпадають під це обмеження і можуть представляти дати далеко в майбутньому (до року 292 мільярдів).

Рішення: Більшість сучасних систем перейшли на 64-bit timestamps, але застарілі системи та вбудовані пристрої все ще можуть бути вразливі. Завжди використовуйте 64-bit timestamps у нових проєктах для забезпечення довговічності.

Поширені запитання

Що таке Unix Epoch?

Unix Epoch — це початкова точка для обчислень Unix timestamp: 1 січня 1970 року о 00:00:00 UTC. Ця дата була обрана під час розробки операційної системи Unix і стала універсальним стандартом для представлення timestamp у обчисленнях. Значення timestamp 0 відповідає цьому точному моменту.

Як конвертувати Unix timestamp у дату в JavaScript?

У JavaScript використовуйте new Date(timestamp * 1000) для секунд або new Date(timestamp) для мілісекунд. Приклад: new Date(1698768000 * 1000) створює об'єкт Date. Date.now() в JavaScript повертає поточний timestamp у мілісекундах.

У чому різниця між форматами секунд і мілісекунд?

Seconds format (10 digits) is the traditional Unix timestamp used by most Unix/Linux systems and languages like Python and PHP. Milliseconds format (13 digits) provides higher precision and is used by JavaScript, Node.js, and Java. To convert: milliseconds = seconds × 1000.

Чи можуть Unix timestamps представляти дати до 1970 року?

Так! Від'ємні Unix timestamps представляють дати до Unix Epoch (1 січня 1970). Наприклад, -86400 означає 31 грудня 1969 року, 00:00:00 UTC. Однак деякі системи та мови мають обмеження для від'ємних timestamps, тому завжди тестуйте конкретну реалізацію.

Що таке проблема Y2038 і чи варто турбуватися?

Проблема Y2038 стосується 32-bit систем, де timestamps переповняться 19 січня 2038 року о 03:14:07 UTC. Сучасні 64-bit системи не підпадають під це обмеження і можуть представляти дати до року 292 мільярдів. Якщо ви розробляєте нове ПЗ, завжди використовуйте 64-bit timestamps. Застарілі системи можуть потребувати оновлень до 2038 року.

Наскільки точні Unix timestamps?

Unix timestamps у форматі секунд мають точність до 1 секунди. Формат мілісекунд забезпечує точність до 0,001 секунди. Для ще вищої точності деякі системи використовують мікросекунди (16 цифр) або наносекунди (19 цифр), хоча це менш поширено. Точність залежить від синхронізації системного годинника.

Чи враховує Unix timestamp високосні секунди?

Ні, Unix timestamps не враховують високосні секунди. Вони припускають, що кожен день має рівно 86 400 секунд, що спрощує обчислення, але означає, що Unix time не зовсім синхронізований з атомним часом (TAI). Для більшості застосувань ця різниця є незначною, і спрощена система є прийнятною.

Чи можна використовувати Unix timestamps для всіх потреб з датами/часом?

Unix timestamps чудово підходять для зберігання та передачі часових даних, але для відображення користувачам їх слід конвертувати в локальні формати часу. Вони ідеальні для обчислень, сортування та зберігання даних, але зручні для людини формати, такі як ISO 8601, кращі для інтерфейсів користувача та логів.