Hvordan konvertere epoketid i C ++

Tidsfunksjonen i C ++ standardbiblioteket returnerer sekunder som har gått siden en spesifikk, standardisert dato og tid kjent som epoken. Selv om denne verdien inneholder all informasjonen som trengs for å beregne gjeldende klokkeslett og dato for systemet, er det feil å skrive din egen tidsoversettelseskode. Bruk av standardbibliotekets medfølgende tidskonverteringsfunksjoner gjør denne oversettelsesprosessen triviell, slik at du kan fokusere på de mer komplekse delene av applikasjonen.

Trinn 1

Inkluder C ++ - standardbibliotekets tidsfunksjonalitet i applikasjonen din. Legg til følgende linje øverst på inkluderingslisten:

inkludere

Steg 2

Få sekunder som har gått siden epoken, og lagre den lokalt. Gjør dette ved å ringe tid (), og lagre resultatet i et objekt av typen time_t. Tidsfunksjonen godtar også en peker til et objekt av typen time_t som et argument, men det er enklere å lagre dette objektet lokalt på bunken:

time_t timeSinceEpoch = tid (NULL);

Trinn 3

Lag en tidsstruktur for å lagre resultatet av tidskonverteringen. Denne strukturen er definert i time.h-headerfilen som en struktur som heter tm, og gir praktisk navngitte medlemsvariabler for hver komponent av den konverterte tiden:

tm timeResult;

Bruk en av de innebygde konverteringsfunksjonene til å lagre time_t-verdien som ble oppnådd tidligere som en tm-struktur. For enkelhets skyld konverterer følgende kode et time_t-objekt til en UTC tm-struktur:

timeResult = gmtime (& timeSinceEpoch);