Come convertire Epoch Time in C++
La funzione time nella libreria standard C++ restituisce i secondi trascorsi da una data e un'ora standardizzate specifiche note come epoch. Sebbene questo valore contenga tutte le informazioni necessarie per calcolare l'ora e la data correnti del sistema, scrivere il proprio codice di conversione dell'ora dell'epoca è soggetto a errori. L'utilizzo delle funzioni di conversione dell'ora fornite dalla libreria standard rende questo processo di traduzione banale, consentendoti di concentrarti sulle parti più complesse della tua applicazione.
Passo 1
Includere la funzionalità dell'ora della libreria standard C++ nella tua applicazione. Aggiungi la seguente riga all'inizio dell'elenco di inclusione:
includere
Passo 2
Ottenere i secondi trascorsi dall'epoca e memorizzarli localmente. Fallo chiamando time() e memorizzando il risultato in un oggetto di tipo time_t. La funzione time accetta anche un puntatore a un oggetto di tipo time_t come argomento, ma è più semplice memorizzare questo oggetto localmente nello stack:
time_t timeSinceEpoch = time(NULL);
Passaggio 3
Creare una struttura temporale per memorizzare il risultato della conversione dell'ora. Questa struttura è definita nel file di intestazione time.h come una struttura denominata tm e fornisce variabili membro opportunamente denominate per ogni componente dell'ora convertita:
tm timeResult;
Utilizzare una delle funzioni di conversione integrate per memorizzare il valore time_t ottenuto in precedenza come struttura tm. Per semplicità, il codice seguente converte un oggetto time_t in una struttura UTC tm:
timeResult = gmtime( &timeSinceEpoch );