🕐
← Terug naar handleidingen

Hoe converteer je Unix-tijdstempels naar leesbare datums

· Tags: unix-timestamp, conversion, date-conversion, timezone, epoch-converter

Waarom Unix-tijdstempels converteren?

Unix-tijdstempels zijn ideaal voor machines — een enkel geheel getal is compact, ondubbelzinnig en eenvoudig te sorteren. Maar voor mensen betekent 1785292800 niets totdat het is vertaald naar een kalenderdatum en -tijd. Of je nu een logbestand debugt, databaserecords analyseert of een API-reactie leest, weten hoe je tijdstempels snel converteert is een essentiële vaardigheid.

Methode 1: Onze online Unix-tijdstempelconverter gebruiken

De snelste en meest betrouwbare methode is het gebruik van een speciale conversietool.

Onze Unix-tijdstempelconverter accepteert tijdstempels in zowel seconden als milliseconden, detecteert automatisch de resolutie en toont het resultaat in meerdere tijdzones tegelijk. Je kunt ook de andere kant op gaan — voer een leesbare datum in en krijg het bijbehorende Unix-tijdstempel.

Deze benadering is ideaal wanneer je een snelle eenmalige conversie nodig hebt zonder een opdrachtregel aan te raken.

Methode 2: De Linux-opdrachtregel gebruiken (date-opdracht)

Als je toegang hebt tot een Linux- of macOS-terminal, is de date-opdracht je beste vriend.

Een tijdstempel converteren naar een leesbare datum

# On GNU Linux (most distributions)
date -d @1785292800

# Specify a custom format
date -d @1785292800 +"%Y-%m-%d %H:%M:%S"
# Output: 2026-07-19 00:00:00

# With timezone
TZ="America/New_York" date -d @1785292800
# Output: Sun Jul 19 00:00:00 EDT 2026

Op macOS (BSD date) verschilt de syntaxis enigszins:

# On macOS
date -r 1785292800

# With custom format
date -r 1785292800 +"%Y-%m-%d %H:%M:%S"

Een datum converteren naar een Unix-tijdstempel

# On GNU Linux
date -d "2026-07-19 00:00:00" +%s

# On macOS
date -j -f "%Y-%m-%d %H:%M:%S" "2026-07-19 00:00:00" +%s

Methode 3: Handmatige berekening

Hoewel je dit zelden met de hand hoeft te doen, ontmystificeert het begrijpen van de wiskunde hoe het systeem werkt.

De formule

seconds = (year - 1970) × 31536000 + (month offset) × 86400 + day × 86400 + hours × 3600 + minutes × 60 + seconds

Het lastige deel is rekening houden met schrikkeljaren. Een jaar is een schrikkeljaar als het deelbaar is door 4, behalve eeuwjaren die niet deelbaar zijn door 400.

Snelle mentale benaderingen

  • 86.400 seconden = 1 dag
  • 604.800 seconden = 1 week
  • Ongeveer 31.536.000 seconden = 1 normaal jaar
  • Ongeveer 31.622.400 seconden = 1 schrikkeljaar

Voor een ruwe schatting kun je timestamp / 86400 berekenen om het aantal dagen sinds de epoch te krijgen en die dagen vervolgens optellen bij 1 januari 1970.

Methode 4: Programmeertalen gebruiken

Elke grote programmeertaal heeft ingebouwde functies voor tijdstempelconversie. Hier zijn de meest voorkomende:

JavaScript (Browser of Node.js)

// Timestamp to date (JavaScript uses milliseconds)
const timestamp = 1785292800;
const date = new Date(timestamp * 1000);
console.log(date.toISOString());
// Output: 2026-07-19T00:00:00.000Z

// Date to timestamp
const ts = Math.floor(new Date("2026-07-19").getTime() / 1000);
console.log(ts);
// Output: 1785292800

Python

from datetime import datetime

# Timestamp to date
dt = datetime.utcfromtimestamp(1785292800)
print(dt.isoformat())
# Output: 2026-07-19T00:00:00

# Timezone-aware (Python 3.9+)
from zoneinfo import ZoneInfo
dt_tz = datetime.fromtimestamp(1785292800, tz=ZoneInfo("America/New_York"))
print(dt_tz.isoformat())
# Output: 2026-07-19T00:00:00-04:00

# Date to timestamp
import time
ts = time.mktime(datetime(2026, 7, 19).timetuple())
print(ts)

PHP

<?php
// Timestamp to date
echo date("Y-m-d H:i:s", 1785292800);
// Output: 2026-07-19 00:00:00

// Date to timestamp
echo strtotime("2026-07-19 00:00:00");
// Output: 1785292800

Methode 5: Spreadsheetsoftware gebruiken

Google Sheets

Gebruik de formule =DATE(1970,1,1) + A1 / 86400 waarbij A1 het tijdstempel bevat. Formatteer de resultaatcel als datum.

Microsoft Excel

=DATE(1970,1,1) + A1 / 86400

Op Windows Excel heb je mogelijk nodig:

=(A1 / 86400) + DATE(1970,1,1)

Randgevallen om op te letten

Seconden versus milliseconden

Dit is de meest voorkomende fout. Als je een millisecondewaarde (bijv. 1785292800000) doorgeeft aan een functie die seconden verwacht, krijg je een datum van ruwweg 56.000 jaar in de toekomst.

Hoe te detecteren:

  • Als het getal 10 cijfers lang is, gaat het waarschijnlijk om seconden
  • Als het getal 13 cijfers lang is, gaat het waarschijnlijk om milliseconden
  • Sommige systemen gebruiken ook microseconden (16 cijfers) of nanoseconden (19 cijfers)

Negatieve tijdstempels (datums vóór 1970)

Unix-tijdstempels kunnen datums vóór de epoch vertegenwoordigen met behulp van negatieve getallen:

date -d @-126230400
# Output: Tue Dec 31 00:00:00 -1969

Niet alle conversietools verwerken negatieve tijdstempels correct. Onze online converter doet dat wel.

Schrikkelseconden

Unix-tijd negeert schrikkelseconden door ontwerp. Een Unix-tijdstempel zal nooit :59:60 tonen, zelfs niet tijdens een schrikkelseconde-invoeging. Dit betekent dat het tijdstempel afwijkt van atoomtijd met een klein (momenteel 27 seconden) maar groeiend verschil.

Samenvatting

| Methode | Het beste voor | |--------|----------| | Online converter (/linux-timestamp) | Snelle, eenmalige conversies | | date-opdracht | Terminalgebruikers en scripts | | Handmatige berekening | Begrijpen hoe het werkt | | Programmeertalen | Automatisering en apps | | Spreadsheets | Gegevensanalyse |

Gebruik onze Unix-tijdstempelconverter om directe, nauwkeurige conversies uit te voeren met automatische tijdzonedetectie.