Een beginnersgids voor epoch-tijd

Epoch/Unix/POSIX-tijd is een fundamenteel concept in de informatica en het programmeren. Het dient als een standaardmanier om tijd weer te geven als één numerieke waarde, wat efficiënte opslag, vergelijking en manipulatie van tijdstempels over verschillende systemen en programmeertalen mogelijk maakt.

Wat is epoch-tijd?

In de kern vertegenwoordigt epoch-tijd het aantal seconden dat is verstreken sinds een specifiek referentiepunt in de tijd, de epoch genoemd. De Unix-epoch, die veel wordt gebruikt in de informatica, is gedefinieerd als 00:00:00 UTC op 1 januari 1970. Dit moment dient als startpunt voor het vooruit of achteruit tellen van seconden in de tijd.

Representatie van epoch-tijd

Epoch-tijd wordt doorgaans weergegeven als één geheel getal, dat het aantal verstreken seconden sinds de Unix-epoch aangeeft. Deze gehele waarde wordt vaak opgeslagen als een 32-bits of 64-bits geheel getal met teken, afhankelijk van het systeem of de gebruikte programmeertaal.

Epoch-tijd converteren

Het converteren van epoch-tijd naar leesbare formaten, zoals datum en tijd, is een veelvoorkomende taak bij het programmeren. Omgekeerd maakt het converteren van datum- en tijdrepresentaties naar epoch-tijd eenvoudige manipulatie en vergelijking van tijdstempels mogelijk.

Van epoch-tijd naar leesbare formaten:

Om epoch-tijd naar een leesbaar formaat te converteren, kunt u verschillende programmeerbibliotheken of ingebouwde functies gebruiken. Bijvoorbeeld in Python:


import datetime

epoch_time = 1618563667
human_readable = datetime.datetime.utcfromtimestamp(epoch_time).strftime('%Y-%m-%d %H:%M:%S')
print(human_readable)

Dit codefragment converteert de epoch-tijd 1618563667 naar de bijbehorende UTC-datum- en -tijdweergave.

Van leesbare formaten naar epoch-tijd:

Het converteren van leesbare datum- en tijdweergaven naar epoch-tijd omvat het parseren van de invoerstring en het berekenen van de bijbehorende epoch-waarde. Bijvoorbeeld in JavaScript:


const humanReadableDate = '2022-04-16 10:21:07';
const epochTime = new Date(humanReadableDate).getTime() / 1000;
console.log(epochTime);

Opmerking: De deling door 1000 is nodig om milliseconden naar seconden te converteren, omdat de methode getTime() van JavaScript de tijd in milliseconden retourneert.

Waarom epoch-tijd belangrijk is

Epoch-tijd speelt een cruciale rol bij verschillende computertaken, waaronder:

  • Het loggen van gebeurtenissen en tijdstempels in systeemlogs en databases.
  • Het synchroniseren van gedistribueerde systemen en netwerkprotocollen.
  • Het uitvoeren van tijdgebaseerde berekeningen en het plannen van taken.

Door een gestandaardiseerde manier te bieden om tijd weer te geven, vereenvoudigt epoch-tijd de interoperabiliteit tussen verschillende systemen en platforms, waardoor naadloze communicatie en gegevensuitwisseling mogelijk wordt.

  1. Epoch-convertertool
  2. Epoch-tijdconversie