Comment convertir l'heure d'époque en C++

La fonction de temps dans la bibliothèque standard C++ renvoie les secondes écoulées depuis une date et une heure spécifiques et standardisées connues sous le nom d'époque. Bien que cette valeur contienne toutes les informations nécessaires pour calculer l'heure et la date actuelles du système, l'écriture de votre propre code de traduction d'époque est sujette aux erreurs. L'utilisation des fonctions de conversion de temps fournies par la bibliothèque standard rend ce processus de traduction trivial, vous permettant de vous concentrer sur les parties les plus complexes de votre application.

Étape 1

Incluez la fonctionnalité de temps de la bibliothèque standard C++ dans votre application. Ajoutez la ligne suivante en haut de votre liste d'inclusion :

inclure

Étape 2

Obtenez les secondes écoulées depuis l'époque, et stockez-les localement. Pour ce faire, appelez time() et stockez le résultat dans un objet de type time_t. La fonction time accepte également un pointeur vers un objet de type time_t comme argument, mais il est plus simple de stocker cet objet localement sur la pile :

time_t timeSinceEpoch = time(NULL);

Étape 3

Créez une structure de temps pour stocker le résultat de la conversion de temps. Cette structure est définie dans le fichier d'en-tête time.h sous la forme d'une structure nommée tm et fournit des variables membres au nom pratique pour chaque composant de l'heure convertie :

tm timeResult;

Utilisez l'une des fonctions de conversion intégrées pour stocker la valeur time_t obtenue précédemment en tant que structure tm. Pour plus de simplicité, le code suivant convertit un objet time_t en une structure UTC tm :

timeResult = gmtime( &timeSinceEpoch );