ToolHub
View All Posts

Unix Timestamp Uitgelegd: Converteren Tussen Formaten

Unix timestamps zijn een van de meest fundamentele concepten in computing, maar blijven verwarrend voor veel ontwikkelaars en data-professionals. Of je nu API-antwoorden debugt, logbestanden analyseert of planningssystemen bouwt, het begrijpen van hoe Unix timestamps werken en hoe je ze tussen formaten converteert is een essentiële vaardigheid.

Wat is een Unix Timestamp?

Een Unix timestamp, ook wel epoch time of POSIX time genoemd, is het aantal seconden dat is verstreken sinds 1 januari 1970, 00:00:00 UTC, exclusief schrikkelseconden. Dit referentiepunt staat bekend als de Unix-epoch. De timestamp wordt opgeslagen als een enkel geheel getal, wat het makkelijk maakt om tijden te vergelijken, te sorteren en tijdverschillen te berekenen.

De Unix timestamp 1700000000 komt bijvoorbeeld overeen met 14 november 2023, om 22:13:20 UTC. De eenvoud van het weergeven van tijd als een enkel getal heeft Unix timestamps tot de standaard gemaakt voor tijdsweergave in besturingssystemen, databases en programmeertalen.

Waarom Unix Timestamps Worden Gebruikt

Veelvoorkomende Timestamp-formaten

Verschillende systemen gebruiken verschillende timestamp-formaten. Het begrijpen van deze variaties helpt je er nauwkeurig tussen te converteren.

FormaatVoorbeeldGebruikt Door
Unix seconden1700000000Linux, API's, databases
Unix milliseconden1700000000000JavaScript, Java
Unix microseconden1700000000000000Python, Go
ISO 86012023-11-14T22:13:20ZREST API's, JSON
RFC 2822Tue, 14 Nov 2023 22:13:20 +0000E-mailheaders, HTTP

Unix Timestamps Converteren naar Leesbare Datums

In JavaScript

JavaScript vertegenwoordigt timestamps in milliseconden. Om een Unix timestamp in seconden naar een JavaScript Date-object te converteren, vermenigvuldig je eerst met 1000. Gebruik vervolgens methoden zoals toLocaleString() of toISOString() om de uitvoer te formatteren.

In Python

De datetime-module van Python biedt de methode fromtimestamp() om Unix timestamps naar datetime-objecten te converteren. Python ondersteunt ook timestamps met microsecondeprecisie via de methode datetime.fromtimestamp(ts, tz=timezone.utc).

In de Command Line

Op Linux en macOS kan het commando date timestamps converteren. Gebruik date -d @1700000000 op Linux of date -r 1700000000 op macOS om een leesbare datum te krijgen van een Unix timestamp.

Online Tools Gebruiken

De snelste manier om timestamps te converteren is met een online converter. Plak je timestamp en de tool toont direct de bijbehorende datum en tijd in meerdere formaten. Probeer onze gratis Timestamp Converter voor snelle conversies.

Datums Converteren naar Unix Timestamps

De omgekeerde conversie, het omzetten van een leesbare datum naar een Unix timestamp, is even belangrijk. Dit is vaak nodig bij het versturen van datums naar API's, het opslaan van door gebruikers geselecteerde datums of het plannen van toekomstige gebeurtenissen.

Maak in JavaScript een Date-object en roep getTime() aan om de timestamp in milliseconden te krijgen, deel vervolgens door 1000 voor seconden. Gebruik in Python datetime.timestamp() om de Unix timestamp direct te krijgen. De meeste programmeertalen bieden vergelijkbare ingebouwde methoden.

Het Jaar 2038-probleem

Systemen die 32-bit signed integers gebruiken om Unix timestamps op te slaan, lopen op 19 januari 2038 om 03:14:07 UTC over. Op dat moment bereikt de timestamp 2147483647, de maximale waarde voor een 32-bit signed integer, en rolt dan door naar een negatief getal, waardoor datums verschijnen alsof ze in 1901 zijn.

Dit probleem, bekend als het Jaar 2038-probleem of Y2K38, treft oudere systemen en ingebedde apparaten. De oplossing is het gebruik van 64-bit integers voor timestamp-opslag, wat het representeerbare bereik uitbreidt tot ongeveer 292 miljard jaar. De meeste moderne besturingssystemen, databases en programmeertalen zijn al overgegaan naar 64-bit timestamps.

Developer Tip: Gebruik altijd 64-bit integers voor timestamp-opslag in databases en API's. Als je met JavaScript werkt, onthoud dat Date.getTime() milliseconden retourneert, geen seconden. Deel door 1000 bij interfacing met systemen die seconden verwachten.

Werken met Tijdzones

Unix timestamps zijn altijd in UTC, wat tijdzone-ambiguiteit elimineert. Het weergeven van timestamps aan gebruikers vereist echter conversie naar hun lokale tijdzone. Hier zijn belangrijke overwegingen:

Veelvoorkomende Valkuilen

Tussen Unix timestamps en leesbare datums converteren nodig? Probeer onze gratis Timestamp Converter.

Probeer Onze Timestamp Converter

Veelgestelde Vragen

Wat is de Unix-epoch?

De Unix-epoch is 1 januari 1970, 00:00:00 UTC. Het dient als referentiepunt voor alle Unix timestamp-berekeningen. Timestamps vertegenwoordigen het aantal seconden dat is verstreken sinds dit moment.

Raken Unix timestamps op?

De 32-bit signed integer Unix timestamp loopt op 19 januari 2038 over, bekend als het Jaar 2038-probleem. Systemen die 64-bit integers gebruiken zullen dit probleem ongeveer 292 miljard jaar niet tegenkomen. De meeste moderne systemen zijn al overgegaan naar 64-bit timestamps.

Worden Unix timestamps beïnvloed door tijdzones?

Nee, Unix timestamps zijn altijd in UTC en worden niet beïnvloed door tijdzones. Dezelfde timestamp vertegenwoordigt wereldwijd hetzelfde moment. Tijdzoneconversie vindt alleen plaats bij het weergeven van de timestamp als een leesbare datum.

Wat is het verschil tussen seconden en milliseconden in timestamps?

Standaard Unix timestamps meten seconden sinds de epoch, terwijl JavaScript en sommige API's milliseconden gebruiken. Een milliseconde-timestamp is 1000 keer groter. 1700000000 seconden is bijvoorbeeld gelijk aan 1700000000000 milliseconden.

Beïnvloeden schrikkelseconden Unix timestamps?

Technisch gezien negeren Unix timestamps schrikkelseconden. Elke dag wordt behandeld als precies 86400 seconden hebbend. Dit betekent dat Unix tijd enigszins kan driftten van UTC wanneer schrikkelseconden worden ingevoegd, maar in de praktijk veroorzaakt dit zelden problemen.