Wat Is een Unix-timestamp? Een Volledige Uitleg van Epoch-tijd
Snel antwoord
Een Unix timestamp is het aantal seconden sinds 1 januari 1970, 00:00:00 UTC (de Unix epoch). Het is timezone-onafhankelijk en gemakkelijk te vergelijken. JavaScript gebruikt milliseconden (13 cijfers); Unix en de meeste API's gebruiken seconden (10 cijfers). Gebruik onze gratis Timestamp Converter.
Invoering
Een Unix timestamp (ook Unix epoch time, POSIX time of Unix time genoemd) is het aantal seconden verstreken sinds 1 januari 1970, 00:00:00 UTC —een moment bekend als de Unix epoch. Timestamps worden veel gebruikt in besturingssystemen, databases, logs en API's omdat ze timezone-onafhankelijk (altijd UTC), gemakkelijk te vergelijken en compact zijn. Ze zijn echter niet mens-leesbaar —1693526400 is betekenisloos zonder conversie.
Stap voor stap
-
Begrijp het Unix-tijdperk
Het Unix-tijdperk is 1 januari 1970, 00:00:00 Coördineerde Universele Tijd (UTC). Een Unix-tijdstempel is het aantal seconden vanaf dit moment. Positieve tijdstempels zijn na het tijdperk; negatieve tijdstempels (ondersteund door sommige systemen) staan ervoor.
-
Onderscheid seconden van milliseconden
Unix-tijdstempels zijn doorgaans in seconden (10 cijfers vanaf 2026, bijvoorbeeld 1693526400). JavaScript's Date.now() en Date.getTime() retourneren milliseconden (13 cijfers, bijvoorbeeld 1693526400000). Controleer altijd welke eenheid een API verwacht; het mixen ervan is de meest voorkomende tijdstempelbug.
-
Begrijp de onafhankelijkheid van de tijdzone
Unix-tijdstempels zijn altijd UTC. Ze zijn niet afhankelijk van de tijdzone van de gebruiker. Om een tijdstempel in een specifieke tijdzone weer te geven, converteert u deze naar een datum en past u de tijdzoneverschuiving toe. Dit maakt tijdstempels ideaal voor opslag en vergelijking.
-
Leer meer over het jaar 2038-probleem
Systemen die 32-bits gehele getallen met teken gebruiken voor tijdstempels zullen overlopen op 19 januari 2038, 03:14:07 UTC - het 'Y2038-probleem'. Systemen die 64-bits gehele getallen of JavaScript-nummers (64-bits floats) gebruiken, worden niet beïnvloed. Moderne systemen zijn grotendeels Y2038-veilig, maar oudere embedded systemen zijn dat misschien niet.
Voorbeelden
Tijdstempel voor een bekende datum
Invoer: 01-09-2023 00:00:00 UTC
Uitvoer: 1693526400 (seconden) of 1693526400000 (milliseconden)
Het Unix-tijdperk
Invoer: 1970-01-01 00:00:00 UTC
Uitvoer: 0
Y2038 probleemgrens
Invoer: 19-01-2038 03:14:07 UTC
Uitvoer: 2147483647 (max. 32-bits geheel getal met teken)
Veelvoorkomende problemen
- Seconden en milliseconden door elkaar gebruiken —JavaScript gebruikt milliseconden (Date.now()), Unix en de meeste APIs gebruiken seconden. Deel door 1000 om ms naar seconden om te zetten; vermenigvuldig met 1000 voor het omgekeerde.
- Verwarring in tijdzones: tijdstempels zijn UTC. Converteer bij weergave naar de lokale tijdzone van de gebruiker of geef UTC op. Pas geen verschuivingen toe op de onbewerkte tijdstempel.
- Het jaar 2038-probleem: 32-bits ondertekende gehele tijdstempels lopen over op 19-01-2038. Gebruik 64-bit gehele getallen of JavaScript-nummers om dit te voorkomen.
- Negatieve tijdstempels: datums vóór 01-01-1970 hebben negatieve tijdstempels. Sommige systemen ondersteunen ze niet.
Tips
- Controleer altijd of een API seconden of milliseconden verwacht: dit is de meest voorkomende tijdstempelbug.
- Gebruik ISO 8601-tekenreeksen (bijvoorbeeld "2023-09-01T00:00:00Z") voor voor mensen leesbare tijdstempels in APIs; gebruik Unix-tijdperk voor opslag en berekening.
- JavaScript Date.now() retourneert milliseconden; delen door 1000 en vloer om seconden te krijgen.
- Gebruik onze tijdstempelconverter om tijdstempels en voor mensen leesbare datums in uw browser te converteren.