Okamžik, hodiny a jednotka
Unixová časová značka počítá sekundy od počátku unixové epochy 1970-01-01 00:00:00 UTC. Datum a čas ve stylu ISO pojmenovává kalendářní pole a při jednoznačném okamžiku obsahuje posun jako Z nebo +01:00. Samotný místní údaj hodin bez zóny neurčuje jediný okamžik. Zkontrolujte také jednotku: prohlížečová API a JavaScript Date často používají milisekundy, tedy pro stejný okamžik tisíckrát větší číslo než unixové sekundy. Nástroj MultiVerto očekává sekundy a povoluje nejvýše tři desetinná místa pro milisekundy. Výsledek píše v UTC s příponou Z, takže použitý časový základ je jasný.
Nový rok na dvou hodinách
Do vloženého převodníku zadejte 1704067200. Odpovídá času 2024-01-01T00:00:00.000Z. Stejný okamžik lze zapsat jako 2024-01-01T01:00:00+01:00: místní hodiny jsou o hodinu napřed a po odečtení kladného posunu dostaneme půlnoc UTC. Tento zápis s posunem vložte do propojeného nástroje ISO na Unix; vrátí 1704067200. Naproti tomu 2024-01-01T01:00:00Z označuje jiný okamžik, přesně o hodinu později. Samotné číslice data bez přípony nestačí. Tato dvojice je užitečný opakovatelný test pro záznamy událostí a API.
- Unix: 1704067200 sekund
- UTC: 2024-01-01T00:00:00.000Z
- Posun: 2024-01-01T01:00:00+01:00
Sekundy, milisekundy a zlomky
Pokud rozhraní API vrací současnou hodnotu epochy s přibližně třinácti číslicemi, v dokumentaci ověřte, zda jde o milisekundy; počet číslic sám neurčuje jednotku pro libovolné datum. Milisekundy na sekundy převeďte dělením tisícem a zachovejte potřebný zlomek. Například 1704067200500 milisekund odpovídá 1704067200.5 sekundám a času 00:00:00.500Z v našem příkladu. MultiVerto přijímá nejvýše tři číslice za desetinnou tečkou a vypisuje ISO s přesností na milisekundy. Pro mikrosekundy nebo nanosekundy nejprve použijte nástroj určený pro jejich měřítko. Příliš časné zaokrouhlení může skrýt pořadí blízkých událostí.
Posun není historie pásma
Číselný posun určuje vztah místních hodin a UTC v konkrétním okamžiku. Nepojmenovává region a neobsahuje budoucí pravidla letního času. Opakované setkání v 09:00 v jednom městě potřebuje databázi časových pásem, nikoli natrvalo uložené +01:00. Při převodu ISO na Unix MultiVerto vyžaduje výslovný posun nebo Z, takže nemusí hádat nejednoznačný místní čas. Přijímaný tvar má celé datum, čas po sekundy a nejvýše tři desetinná místa. Neplatná data a přestupná sekunda s hodnotou 60 se odmítnou. Jde o záměrně užší podporu než všechny možné zápisy času.
Spolehlivá zpětná kontrola
Zapište si hodnotu ze zdroje, zda používá sekundy nebo milisekundy, a posun či pásmo uvedené tvůrcem. Převeďte číslo na text ISO v UTC, potom přesně tento text zpět na číslo a porovnejte sekundy. Následně zkuste druhý zápis s explicitním posunem pro stejný okamžik. Rozdíl přesně 3600 sekund naznačuje chybu o hodinu; násobek tisíc záměnu jednotek. Uložený okamžik neměňte jen proto, aby zobrazené hodiny vypadaly jako vaše místní hodiny. Uchovejte jednoznačný okamžik a pro uživatele jej formátujte až při zobrazení.
Při porovnávání událostí z více systémů řaďte jednoznačné okamžiky, nikoli texty místních hodin. Dva různé posuny mohou u stejného času na ciferníku znamenat odlišné okamžiky. Naopak jedna událost může mít ve dvou zemích různé datum. Pro analýzu si ponechte původní zápis i normalizovaný čas UTC.