У цій статті
Що таке Unix-часова мітка?
Unix-часова мітка (також відома як epoch time) — це кількість секунд, що минули з 1 січня 1970 року о 00:00:00 UTC. Це найпоширеніший спосіб представлення часу в комп'ютерних системах, оскільки він не залежить від часового поясу, зберігається як єдине ціле число та зручний для арифметичних операцій.
Unix-часові мітки використовуються практично в кожній мові програмування та базі даних. JavaScript використовує мілісекунди (поділіть на 1000, щоб отримати секунди), тоді як більшість інших мов використовують секунди. Проблема 2038 року стосується 32-розрядних систем, які переповняться, коли часова мітка перевищить 2^31.
Як працює конвертація часових міток
Конвертер перетворює Unix-часові мітки на людиночитані дати та навпаки.
- Epoch у дату — перетворює Unix-часову мітку на відформатований рядок дати і часу
- Дата в epoch — перетворює рядок дати/часу на відповідну Unix-часову мітку
- Підтримка часових поясів — відображає конвертований час у UTC та місцевому часовому поясі одночасно
Спробуйте безкоштовно — реєстрація не потрібна
Конвертувати часову мітку →Коли використовувати конвертацію часових міток
Конвертація часових міток корисна при роботі з датами, що зберігаються як числа в API, базах даних або журналах.
- Налагодження API — перетворення Unix-часових міток у відповідях API на читабельні дати для аналізу
- Аналіз журналів — інтерпретація полів часових міток у лог-файлах та записах бази даних
- Планування — перевірка того, що розрахунки дат у коді дають правильні значення Unix-часових міток
Часті запитання
У чому різниця між Unix-часовою міткою в секундах та мілісекундах?
Більшість Unix-систем використовують секунди. JavaScript Date.now() повертає мілісекунди. Якщо часова мітка виглядає в 1000 разів більшою (наприклад, 1708600000000 замість 1708600000), вона в мілісекундах. Завжди перевіряйте порядок величини і діліть на 1000, якщо працюєте з JavaScript-часовими мітками в контексті, що очікує секунди.
Що таке проблема 2038 року?
19 січня 2038 року 32-розрядні знакові цілі числа, що використовуються для зберігання Unix-часових міток, переповняться і стануть від'ємними, представляючи 1901 рік. Системи, що досі використовують 32-розрядні часові мітки, перестануть працювати. Сучасні системи використовують 64-розрядні цілі числа, яким не загрожує переповнення протягом мільярдів років.
Чи впливає літній час на Unix-часові мітки?
Ні. Unix-часові мітки завжди представляють кількість секунд, що минули з моменту epoch у UTC, незалежно від літнього часу. Корекція на літній час застосовується лише при конвертації в локальний час для відображення. Це одна з ключових переваг зберігання часу у форматі Unix-часових міток.