Wat is een Epoch Timestamp (Unix-tijd) en het Gebruik?
De Oorsprong van Unix-tijd
Om de epoch timestamp (vaak Unix-tijd, POSIX-tijd of simpelweg de epoch genoemd) echt te begrijpen, moeten we terugkijken naar het ontstaan van het Unix-besturingssysteem in de vroege jaren 70. Unix-tijd is een systeem om tijd bij te houden als een doorlopende som van seconden. Het representeert het aantal seconden dat is verstreken sinds de Unix-epoch: donderdag 1 januari 1970 om 00:00:00 Coordinated Universal Time (UTC).
Toen Ken Thompson en Dennis Ritchie de eerste versies van Unix ontwikkelden bij Bell Labs, zochten ze een eenvoudige en efficiënte manier voor computers om datums en tijden op te slaan. Menselijk leesbare datums (zoals '29 juli 2026') zijn extreem complex voor computers. Ze bevatten onregelmatige maanden, schrikkeljaren, tijdzones en zomertijdovergangen. Door tijd als één continu oplopend geheel getal (integer) op te slaan, creëerden de Unix-ontwikkelaars een universele, ondubbelzinnige standaard die eenvoudig kan worden opgeslagen, vergeleken en berekend.
Waarom Ontwikkelaars Epoch Timestamps Gebruiken
Zelfs decennia later vormt Unix-tijd de ruggengraat van de moderne IT-infrastructuur. Dit zijn de belangrijkste redenen voor de universele toepassing:
- Eenvoud en Efficiëntie: Het opslaan van een 32-bit of 64-bit integer kost aanzienlijk minder opslagruimte en geheugen dan een geformatteerde datumtekst. Bij databases met miljarden records levert een besparing van een paar bytes per rij een enorme kostenreductie en snellere indexprestaties op.
- Onafhankelijk van Tijdzones: Een epoch timestamp is inherent gekoppeld aan UTC. Het maakt niet uit waar de gebruiker zich bevindt. Als een server in Tokio communiceert met een client in New York, voorkomt het versturen van een epoch integer elke verwarring over tijdzones. De client converteert de integer bij ontvangst simpelweg naar de lokale tijdzone.
- Eenvoudige Wiskundige Bewerkingen: Het berekenen van de duur tussen twee gebeurtenissen is zo simpel als het aftrekken van de ene timestamp van de andere. Als je wilt weten hoeveel seconden er tussen twee logboeken zijn verstreken, geeft
timestamp2 - timestamp1direct het exacte antwoord, zonder ingewikkelde datumverwerkingslogica. - Database Sortering: Het chronologisch sorteren van records op een integer-kolom is voor database-engines vele malen sneller dan het parseren en sorteren van op tekst gebaseerde datums.
De Impact van Schrikkelseconden
Een technische nuance van Unix-tijd is hoe het omgaat met schrikkelseconden. Een schrikkelseconde is een aanpassing van één seconde die af en toe wordt toegepast op Coordinated Universal Time (UTC) om de tijd synchroon te houden met de middelbare zonnetijd. Unix-tijd houdt geen rekening met schrikkelseconden. In het Unix-tijdsysteem wordt elke dag behandeld als exact 86.400 seconden. Wanneer er een schrikkelseconde optreedt, herhaalt de Unix-klok in feite dezelfde seconde twee keer. Deze bewuste ontwerpkeuze voorkomt dat timestamps onvoorspelbaar worden, al betekent het dat Unix-tijd geen strikte lineaire meting is van de fysiek verstreken tijd sinds 1970. Voor de overgrote meerderheid van softwaretoepassingen is deze kleine afwijking volkomen acceptabel en te prefereren boven de complexiteit van het bijhouden van elke historische schrikkelseconde.

