Sådan konverteres epoketid i C ++

Tidsfunktionen i C ++ - standardbiblioteket returnerer forløbne sekunder siden en specifik, standardiseret dato og tid kendt som epoken. Selvom denne værdi indeholder alle de oplysninger, der er nødvendige for at beregne systemets aktuelle tid og dato, er det en fejltagelse at skrive din egen tidsoversættelseskode. Brug af standardbibliotekets medfølgende tidskonverteringsfunktioner gør denne oversættelsesproces triviel, så du kan fokusere på de mere komplekse dele af din applikation.

Trin 1

Inkluder C ++ - standardbibliotekets tidsfunktionalitet i din applikation. Tilføj følgende linje øverst på din inkluderingsliste:

omfatte

Trin 2

Få de forløbne sekunder siden epoken, og opbevar den lokalt. Gør dette ved at kalde tid () og gemme resultatet i et objekt af typen time_t. Tidsfunktionen accepterer også en markør til et objekt af typen time_t som et argument, men det er lettere at gemme dette objekt lokalt på stakken:

time_t timeSinceEpoch = tid (NULL);

Trin 3

Opret en tidsstruktur for at gemme resultatet af tidskonverteringen. Denne struktur er defineret i time.h-headerfilen som en struktur med navnet tm og giver praktisk navngivne medlemsvariabler for hver komponent i den konverterede tid:

tm timeResult;

Brug en af ​​de indbyggede konverteringsfunktioner til at gemme den tid_t-værdi, der blev opnået tidligere som en tm-struktur. For enkelheds skyld konverterer følgende kode et time_t-objekt til en UTC tm-struktur:

timeResult = gmtime (& timeSinceEpoch);