Naar de inhoud
HexSlate

Timestamp / Epoch Converter

Vanaf epoch

Seconden, milliseconden, microseconden of nanoseconden. De eenheid wordt automatisch gedetecteerd.

Nog niets om te converteren

Typ hierboven een Unix-epochwaarde.

Vanaf datum

Nog niets om te converteren

Kies hierboven een datum en tijd.

tz: UTCwordt elke seconde bijgewerkt

Hoe de eenheid wordt herkend, en waar dat misgaat

Niets zegt bij een kaal getal welke eenheid het heeft, dus de gok komt uit de grootte: tien cijfers is seconden, dertien is milliseconden, elke band 1000× de vorige. Voor echte datums van 2001 tot voorbij 2286 is dat eenduidig.

De grens niet. Een getal van 11 of 12 cijfers leest als seconden eeuwen vooruit of als milliseconden kort na 1970, en allebei zijn geldige lezingen van dezelfde cijfers. Geen enkele heuristiek haalt de bedoeling terug, dus de scheiding ligt vast op 100.000.000.000: 11 cijfers wordt gelezen als seconden, 12 cijfers als milliseconden.

Het jaar-2038-probleem

Op 19-01-2038 om 03:14:08 UTC gaan de seconden sinds de epoch voorbij 2.147.483.647, de grootste waarde die in een 32-bits signed integer past. Systemen die tijd in dat type opslaan slaan om naar een negatief getal en landen in december 1901: nog steeds een levende bug in oudere C-code, embedded firmware en databases met een 32-bits tijdkolom. Geen JavaScript-probleem, want Date gebruikt een 64-bits float, dus het systeem dat jouw timestamp maakte bepaalt of hij het overleeft.

Veelvoorkomende problemen

  • De datum zit er een vast aantal uren naast. Een tijdzone die niet klopt. Hetzelfde moment is in elke zone een andere kloktijd, en UTC is alleen gelijk aan de lokale tijd als je daar woont.
  • Een tijd rond een overgang naar zomer- of wintertijd komt niet terug. Vooruit springen slaat een uur over, dus een kloktijd in dat gat bestaat nooit. Terugvallen herhaalt er een, dus die wijst naar twee momenten en er kan er maar één gekozen worden.
  • Een grote waarde in "nanoseconden" komt niet precies terug. JavaScript houdt volledige gehele precisie maar tot 253 - 1 (9.007.199.254.740.991), en een epoch in nanoseconden zit daar al boven. De datum blijft tot op de milliseconde kloppen.

Veelgestelde vragen

Kan dit datums van voor 1970 aan?

Ja. Een negatieve epoch telt terug vanaf 1970-01-01T00:00:00Z en wordt op dezelfde manier omgezet.

Wat is het RFC 2822-formaat?

Het datumformaat uit RFC 2822 §3.3, nog steeds in gebruik bij e-mailheaders en een flink deel van de HTTP-tooling: Tue, 14 Nov 2023 22:13:20 +0000.

Waarom zegt het label "milliseconden" bij een klein ogend getal?

De herkenning kijkt naar het aantal cijfers, niet of het getal op een bekende datum lijkt. Dertien cijfers valt in de band voor milliseconden, welke datum het ook aanwijst.

Staat de timestamp in seconden of milliseconden?

Tien cijfers is seconden, dertien is milliseconden, zestien is microseconden en negentien is nanoseconden, voor elke datum in dit tijdperk. Deze pagina leest de lengte en zegt welke aanname hij deed, want ernaast zitten zet je in 1970 of in het jaar 56000.