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.
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.
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.
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.
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.
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.
Epoch-tijd speelt een cruciale rol bij verschillende computertaken, waaronder:
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.