Unix-tijdstempelconverter

Converteer tussen Unix-tijdstempels en leesbare datums

Laden...

Tijdseenhedenreferentie

Eenheid Seconden
1 minuut 60
1 uur 3.600
1 dag 86.400
1 week 604.800
30 dagen 2.592.000
365 dagen 31.536.000
Gebeurtenis Tijdstempel
Unix-epoch 0
1 miljard (sep. 2001) 1.000.000.000
1,5 miljard (jul. 2017) 1.500.000.000
2 miljard (mei 2033) 2.000.000.000
Y2038 (32-bit max.) 2.147.483.647
3 miljard (jan. 2065) 3.000.000.000

Huidige Unix-tijdstempel opvragen in code

JavaScript / TypeScript

Math.floor(Date.now() / 1000)  // seconds
Date.now()                      // milliseconds

Python

import time
int(time.time())                # seconds

PHP

time()                          // seconds
microtime(true)                 // with microseconds

Go

time.Now().Unix()               // seconds
time.Now().UnixMilli()          // milliseconds

Ruby

Time.now.to_i                   # seconds
Time.now.to_f                   # with fractional

Java / Kotlin

System.currentTimeMillis() / 1000 // seconds
Instant.now().getEpochSecond()    // Java 8+

C# / .NET

DateTimeOffset.UtcNow.ToUnixTimeSeconds()
DateTimeOffset.UtcNow.ToUnixTimeMilliseconds()

Rust

SystemTime::now()
  .duration_since(UNIX_EPOCH)?.as_secs()

Swift

Int(Date().timeIntervalSince1970) // seconds

Bash / Shell

date +%s                        # GNU/Linux
date -j +%s                     # macOS

SQL (PostgreSQL)

SELECT EXTRACT(EPOCH FROM NOW())
SELECT NOW()::timestamp

SQL (MySQL)

SELECT UNIX_TIMESTAMP()
SELECT FROM_UNIXTIME(1713024000)

Wat is Unix-tijd?

Unix-tijd (ook wel Epoch-tijd, POSIX-tijd of Unix-tijdstempel genoemd) is een systeem om de tijd bij te houden als een doorlopend totaal van seconden sinds het Unix-epoch — 1 januari 1970, 00:00:00 UTC. Het werd geintroduceerd met het Unix-besturingssysteem bij Bell Labs aan het eind van de jaren 60 en is sindsdien de meest gebruikte tijdrepresentatie in de informatica.

Het grote voordeel van Unix-tijdstempels is hun universaliteit: ze vertegenwoordigen hetzelfde absolute moment in de tijd, ongeacht tijdzone of locatie. Een tijdstempel van 1713024000 betekent altijd 14 april 2024, 00:00:00 UTC — of je het nu leest in New York, Londen of Tokio. Dit maakt ze ideaal voor het opslaan van tijdstempels in databases, het synchroniseren van gedistribueerde systemen en het verzenden van tijdwaarden over netwerken.

Unix-tijd negeert bewust schrikkelseconden: elke dag wordt behandeld als precies 86.400 seconden. Dit vereenvoudigt berekeningen, maar kan leiden tot een kleine afwijking van UTC. In de praktijk is het verschil verwaarloosbaar — er zijn minder dan 30 seconden opgebouwd sinds 1972, toen schrikkelseconden werden geintroduceerd.

De belangrijkste beperking van Unix-tijd was het jaar-2038-probleem. Vroege implementaties sloegen tijdstempels op als 32-bits signed integers, die alleen waarden tot 2.147.483.647 kunnen vertegenwoordigen — overeenkomend met 19 januari 2038, 03:14:07 UTC. Moderne systemen zijn grotendeels overgestapt op 64-bits integers, die het bereik uitbreiden tot ongeveer 292 miljard jaar in elke richting.

Veelgestelde vragen

Wat is een Unix-tijdstempel?

Een Unix-tijdstempel is het aantal seconden dat is verstreken sinds 1 januari 1970, 00:00:00 UTC (het "Unix-epoch"). Het vertegenwoordigt een moment in de tijd als een enkel geheel getal, onafhankelijk van tijdzones. Tijdstempel 0 is bijvoorbeeld middernacht op 1 januari 1970 UTC, en 1000000000 is 9 september 2001 om 01:46:40 UTC.

Hoe weet ik of een tijdstempel in seconden of milliseconden is?

Tel het aantal cijfers. Een getal van 10 cijfers is in seconden (bijv. 1713024000). Een getal van 13 cijfers is in milliseconden (bijv. 1713024000000). JavaScripts Date.now() geeft milliseconden terug, terwijl de meeste servertalen (Python, PHP, Go, Ruby) seconden teruggeven. Onze converter detecteert het formaat automatisch.

Wat is het Y2038-probleem?

Systemen die 32-bits signed integers gebruiken voor Unix-tijdstempels kunnen alleen tijden tot 19 januari 2038, 03:14:07 UTC (tijdstempel 2.147.483.647) vertegenwoordigen. Daarna loopt het geheel getal over. Moderne 64-bits systemen vermijden dit probleem volledig — een 64-bits tijdstempel kan datums vertegenwoordigen voor ongeveer 292 miljard jaar.

Houdt Unix-tijd rekening met schrikkelseconden?

Nee. Unix-tijd behandelt elke dag als precies 86.400 seconden en negeert schrikkelseconden volledig. Wanneer een schrikkelseconde wordt ingevoegd in UTC, herhaalt Unix-tijd feitelijk een seconde. Het opgebouwde verschil is minder dan 30 seconden sinds 1972 — verwaarloosbaar voor de meeste toepassingen.

Waarom begint Unix-tijd op 1 januari 1970?

De datum werd gekozen tijdens de ontwikkeling van het Unix-besturingssysteem bij Bell Labs aan het eind van de jaren 60. Het was een rond getal (begin van een nieuw decennium) dat recent genoeg was om nuttig te zijn, en een 32-bits integer kon voldoende toekomstige tijd dekken om praktisch te zijn.

Kunnen Unix-tijdstempels negatief zijn?

Ja. Negatieve Unix-tijdstempels vertegenwoordigen datums voor 1 januari 1970. Zo staat -86400 bijvoorbeeld voor 31 december 1969. De meeste programmeertalen en onze converter ondersteunen negatieve tijdstempels correct.