Конвертор на Unix времеви печат
Преобразувайте Unix времеви печат в секунди или милисекунди в четими дати по местно време, UTC и ISO 8601 и обратно – всяка дата в epoch време.
Времеви печат → дата
- Местно време
- –
- UTC
- –
- ISO 8601
- –
Дата → времеви печат
- Секунди
- –
- Милисекунди
- –
Как да използвате конвертора на Unix времеви печат
- За да преобразувате времеви печат в дата, поставете epoch стойност като
1700000000или1700000000000. Инструментът разпознава по големината ѝ дали е в секунди, или в милисекунди. - Прочетете резултата по вашия местен часови пояс, в UTC и във формат ISO 8601.
- За обратната посока въведете дата и час; инструментът връща съответната epoch стойност и в секунди, и в милисекунди.
- Погледнете текущия времеви печат най-горе, който се обновява на живо, когато ви трябва „сега“ като epoch стойност.
Какво е Unix времеви печат?
Unix времевият печат, наричан още epoch време или POSIX време, е броят секунди, изтекли от Unix епохата: 1 януари 1970 г. в 00:00:00 UTC. Например 1700000000 съответства на 14 ноември 2023 г. в 22:13:20 UTC. Датите преди 1970 г. се представят с отрицателни числа.
Времевите печати са популярни сред програмистите, защото са едно число, което не зависи от часови пояси, лятно часово време или формати на дати. Сравняването на два момента е просто изваждане, а подреждането по време е обикновено числово сортиране. Ще ги срещнете в бази данни, лог файлове, отговори на API, полета в JWT като exp и iat, метаданни на файлове и планировчици от рода на cron.
Имайте предвид, че Unix времето пренебрегва прекъслите секунди: всеки ден се брои за точно 86 400 секунди. Това опростява аритметиката и е причината времевият печат да не е строго броене на всяка физическа секунда от 1970 г.
Секунди или милисекунди
Най-честият източник на объркване е мерната единица. Традиционните Unix системи, PHP, time.time() на Python и повечето бази данни използват секунди, което днес дава 10-цифрено число. Date.now() на JavaScript, System.currentTimeMillis() на Java и много JSON API използват милисекунди, което дава 13-цифрено число. Ако милисекунди се изтълкуват като секунди, попадате десетки хиляди години в бъдещето; ако секунди се изтълкуват като милисекунди, попадате в януари 1970 г. Този инструмент гледа големината на числото, за да избере автоматично правилната единица, а при преобразуване на дата показва и двете стойности, за да копирате тази, която системата ви очаква.
Местно време, UTC и ISO 8601
Времевият печат определя един точен момент, но този момент се показва по различен начин според часовия пояс. Местният резултат използва часовия пояс, зададен на вашето устройство, а UTC е универсалната отправна точка, използвана от сървъри и логове. ISO 8601, например 2023-11-14T22:13:20.000Z, е недвусмисленият текстов формат, препоръчван за обмен на дати между системи; крайното Z означава UTC.
Проблемът на 2038 година
Много по-стари системи съхраняват Unix времето като 32-битово цяло число със знак, чиято максимална стойност е 2 147 483 647. Тази граница се достига на 19 януари 2038 г. в 03:14:07 UTC. Една секунда по-късно такъв брояч прелива до голямо отрицателно число и се чете като дата през декември 1901 г. Съвременните операционни системи, бази данни и езици до голяма степен са преминали към 64-битови стойности за време, които отместват границата милиарди години напред, но вградени устройства, стари файлови формати и стари колони в бази данни може все още да са засегнати. Самият JavaScript не е засегнат, защото съхранява времето като милисекунди в 64-битово число с плаваща запетая.
Поверителност
Всички преобразувания стават във вашия браузър с неговите вградени функции за дата. Никакви времеви печати или дати не се изпращат към сървър.
Често задавани въпроси
Как да разбера дали времевият ми печат е в секунди, или в милисекунди?
Пребройте цифрите. Сегашна дата е 10 цифри в секунди и 13 цифри в милисекунди. Инструментът прилага същата логика автоматично, въз основа на големината на числото.
Защо местното време се различава от UTC?
И двете описват един и същ момент. Местното време прилага отместването на часовия пояс на вашето устройство и правилата за лятно часово време, докато UTC няма отместване. Ако споделяте час с хора другаде, UTC или ISO 8601 предотвратява недоразумения.
Може ли Unix времевият печат да е отрицателен?
Да. Отрицателните стойности представят моменти преди 1 януари 1970 г. UTC. Например -86400 е 31 декември 1969 г. в 00:00:00 UTC.
Съдържа ли Unix времевият печат часови пояс?
Не. Времевият печат винаги е спрямо UTC и не носи информация за часови пояс. Часовият пояс има значение само когато го показвате като календарна дата и час.
Ще се повредят ли системите ми през 2038 г.?
Само ако съхраняват времето в 32-битово цяло число със знак. Проверете по-стари бази данни, вграден фърмуер и двоични файлови формати. Всичко, което използва 64-битово време, е безопасно в обозримо бъдеще.
Сродни инструменти
- UUID генератор Безплатен UUID генератор за версии 4 и 7. Създайте до 1000 наведнъж, с главни букви или без тирета, после копирайте или изтеглете като .txt файл.
- JSON форматиране и валидиране Безплатно форматиране и валидиране на JSON, което подрежда, минимизира и проверява JSON във вашия браузър, със синтактични грешки по ред и колона.