Wat is een Unix Timestamp?
Een Unix timestamp (ook bekend als Epoch time of POSIX time) is een numerieke weergave van tijd die het aantal seconden (of milliseconden) telt dat verstreken is sinds 1 januari 1970 om 00:00:00 UTC. Dit moment staat bekend als de "Unix Epoch" en dient als nulpunt voor alle Unix-timestampberekeningen. Dit systeem biedt een gestandaardiseerde, tijdzone-onafhankelijke manier om datums en tijden in computersystemen wereldwijd weer te geven.
Unix-timestamps zijn fundamenteel voor moderne computing en worden veel gebruikt in programming, databases, APIs en systemen die consistente tijdsregistratie vereisen over verschillende tijdzones en platforms. Het formaat is simpel, compact en elimineert de complexiteit van werken met tijdzones, zomertijd en inconsistenties in datumopmaak.
Belangrijkste kenmerken van Unix-timestamps
- Universele standaard: Dezelfde timestampwaarde vertegenwoordigt hetzelfde moment wereldwijd, ongeacht de tijdzone
- Eenvoudig formaat: Slechts één geheel getal dat tijd in seconden of milliseconden weergeeft
- Gemakkelijke berekeningen: Tijdsverschillen zijn eenvoudige rekenkundige bewerkingen
- Compacte opslag: Vereist slechts 32 of 64 bits opslag
- Programmeervriendelijk: Native ondersteuning in alle grote programmeertalen
- Database-efficiënt: Ideaal voor sorteren en indexeren van tijdgebonden records
- Tijdzone-onafhankelijk: Elimineert verwarring door DST en regionale tijdsverschillen
Begrijpen van timestampformaten
Unix-timestamps komen in twee primaire formaten, elk geschikt voor verschillende precisie-eisen:
1. Seconden (10 cijfers)
Traditioneel Unix-timestampformaat dat seconden telt sinds 1970. Voorbeeld: 1698768000
Stelt voor: October 31, 2023, 12:00:00 UTC
2. Milliseconden (13 cijfers)
Hoogprecisieformaat dat milliseconden telt sinds 1970. Voorbeeld: 1698768000000
Gebruikt door JavaScript, Node.js en systemen die milliseconde-precisie vereisen
Vergelijking van formaten
| Event | Secondenformaat | Millisecondenformaat |
|---|---|---|
| Unix Epoch (Start) | 0 | 0 |
| Y2K (2000-01-01) | 946684800 | 946684800000 |
| Voorbeeldtijd | 1698768000 | 1698768000000 |
| Y2038-probleemlimiet | 2147483647 | 2147483647000 |
💡 Auto-Detection: Onze converter detecteert automatisch het formaat op basis van het aantal cijfers: 10 digits = seconds, 13 digits = milliseconds. The relationship is simple: milliseconds = seconds × 1000.
Hoe Unix-timestamps te converteren
Converteren tussen Unix-timestamps en leesbare datums is eenvoudig met de juiste tools. Onze converter verwerkt beide conversierichtingen en meerdere uitvoerformaten automatisch.
Unix Timestamp → Human-Readable Date
Invoer: 1698768000
ISO 8601: 2023-10-31T12:00:00.000Z
UTC: Tue, 31 Oct 2023 12:00:00 GMT
Lokale tijd: Verschilt per jouw tijdzone
Relatief: "X dagen geleden" of "over X dagen"
Human-Readable Date → Unix Timestamp
Invoer: October 31, 2023, 12:00:00 PM
Seconden: 1698768000
Milliseconden: 1698768000000
Snelle presets
Veelvoorkomende timestamps voor testen en referentie:
- Nu: Huidige timestamp (werkt real-time bij)
- Unix Epoch: 0 (January 1, 1970, 00:00:00 UTC)
- Y2K: 946684800 (January 1, 2000, 00:00:00 UTC)
Veelvoorkomende gebruikssituaties voor Unix-timestamps
Unix-timestamps zijn alomtegenwoordig in moderne softwareontwikkeling en systeembeheer:
- Database-records: Aangemaakt-/wijzigingstijden van records efficiënt opslaan
- API-responses: Tijdgegevens uitwisselen tussen systemen zonder tijdzonecomplicaties
- Logbestanden: Events timestampen in serverlogs, applicatielogs en audit trails
- Sessiebeheer: Gebruikerssessie-verval en authenticatietokens bijhouden
- Geplande taken: Bepalen wanneer cron jobs en geautomatiseerde taken moeten draaien
- Versiebeheer: Commit-timestamps vastleggen in Git en andere VCS-systemen
- Bestandssystemen: Bestandsaangemaakt-, wijzigings- en toegangstijden bijhouden
- Cache-expiratie: TTL (time-to-live) instellen voor gecachte gegevens
- Data-analyse: Tijdreeksgegevens verwerken en temporele analyse
- JavaScript/Node.js: Date.now() retourneert een milliseconde Unix-timestamp
Het Y2038-probleem begrijpen
⚠️ Belangrijke opmerking: Het Y2038-probleem (ook wel de Unix Millennium Bug genoemd) treft 32-bit systemen die Unix-timestamps als signed integers opslaan. Op 19 januari 2038 om 03:14:07 UTC zullen 32-bit timestamps overstromen en teruglopen naar negatieve waarden, wat mogelijk systeemfouten veroorzaakt.
De maximale waarde voor een 32-bit signed integer is 2147483647, wat het laatste moment vóór de overflow vertegenwoordigt. Moderne 64-bit systemen worden niet door deze beperking getroffen en kunnen datums ver in de toekomst weergeven (tot het jaar 292 miljard).
Oplossing: De meeste moderne systemen zijn overgestapt op 64-bit timestamps, maar legacy systemen en embedded apparaten kunnen nog kwetsbaar zijn. Gebruik altijd 64-bit timestamps voor nieuwe projecten om duurzaamheid te garanderen.
Veelgestelde vragen
Wat is de Unix Epoch?
De Unix Epoch is het startpunt voor Unix-timestampberekeningen: 1 januari 1970 om 00:00:00 UTC. Deze datum werd gekozen toen het Unix-besturingssysteem werd ontwikkeld en is de universele standaard voor timestamprepresentatie in computing geworden. De timestampwaarde 0 vertegenwoordigt precies dit moment.
Hoe zet ik een Unix-timestamp om naar datum in JavaScript?
In JavaScript, gebruik new Date(timestamp * 1000) voor seconden of new Date(timestamp) voor milliseconden. Voorbeeld: new Date(1698768000 * 1000) maakt een Date-object aan. JavaScript's Date.now() retourneert de huidige timestamp in milliseconden.
Wat is het verschil tussen seconden- en millisecondenformaat?
Seconds format (10 digits) is the traditional Unix timestamp used by most Unix/Linux systems and languages like Python and PHP. Milliseconds format (13 digits) provides higher precision and is used by JavaScript, Node.js, and Java. To convert: milliseconds = seconds × 1000.
Kunnen Unix-timestamps datums vóór 1970 weergeven?
Ja! Negatieve Unix-timestamps vertegenwoordigen datums vóór de Unix Epoch (1 januari 1970). Bijvoorbeeld, -86400 vertegenwoordigt 31 december 1969 00:00:00 UTC. Sommige systemen en talen hebben echter beperkingen met negatieve timestamps, dus test altijd je specifieke implementatie.
Wat is het Y2038-probleem en moet ik me zorgen maken?
Het Y2038-probleem treft 32-bit systemen waarbij timestamps op 19 januari 2038 om 03:14:07 UTC zullen overstromen. Moderne 64-bit systemen worden hier niet door getroffen en kunnen datums tot het jaar 292 miljard representeren. Als je nieuwe software ontwikkelt, gebruik altijd 64-bit timestamps. Legacy systemen moeten mogelijk vóór 2038 worden bijgewerkt.
Hoe nauwkeurig zijn Unix-timestamps?
Unix-timestamps in secondenformaat zijn tot op 1 seconde nauwkeurig. Millisecondenformaat biedt precisie tot 0,001 seconden. Voor nog hogere precisie gebruiken sommige systemen microseconden (16 cijfers) of nanoseconden (19 cijfers), hoewel deze minder gebruikelijk zijn. De nauwkeurigheid hangt af van synchronisatie van je systeemklok.
Houdt Unix-timestamp rekening met schrikkelseconden?
Nee, Unix-timestamps houden geen rekening met schrikkelseconden. Ze gaan ervan uit dat elke dag precies 86.400 seconden heeft, wat berekeningen vereenvoudigt maar betekent dat Unix time niet exact gesynchroniseerd is met atomische tijd (TAI). Voor de meeste toepassingen is dit verschil verwaarloosbaar en wordt het vereenvoudigde systeem geprefereerd.
Kan ik Unix-timestamps voor alle datum/tijdbehoeften gebruiken?
Unix-timestamps zijn uitstekend geschikt voor het opslaan en verzenden van tijdgegevens, maar voor weergave aan gebruikers moet je ze omzetten naar lokale tijdformaten. Ze zijn ideaal voor berekeningen, sorteren en opslag van gegevens, maar menselijk leesbare formaten zoals ISO 8601 zijn beter voor gebruikersinterfaces en logs.