#include <time.h> // <ctime> en C++
struct tm * gmtime( const time_t * pTime );
Cette fonction transforme un timestamp (de type time_t
) en une structure de type
struct tm
. Les informations stockées dans la structure sont exprimée en temps universel UTC
(Coordinated Universal Time).
Le nom de la fonction gmtime
signifiant Greenwich Meridian Time. Pour culture générale, GMT correspond à l'ancien système de temps
universel remplacé en 1972 par le système UTC. Bien qu'extrémement proche, il existe un écart de temps entre les deux systèmes, mais par abus de
langage on continue aujourd'hui à parler de GMT en lieu et place d'UTC : c'est aussi le cas pour la librairie C.
Cette fonction renvoie un pointeur vers la structure de type struct tm
contenant les informations de temps
associées au timestamp.
Il est très important de bien comprendre une chose : cette fonction n'alloue pas de nouveau bloc mémoire pour la structure retournée.
En fait une instance de cette structure est réservée par la librairie <time.h>
et c'est systématiquement un pointeur sur cette instance
qui vous sera retournée. Il en résulte deux conséquences importantes :
free
en fin de traitement;
#include <stdio.h> #include <time.h> int main( int argc, char * argv[] ) { time_t timestamp = time( NULL ); struct tm * timeInfos = gmtime( & timestamp ); printf( "Date and UTC time : %04d/%02d/%02d %02d:%02d:%02d\n", timeInfos->tm_year+1900, timeInfos->tm_mon+1, timeInfos->tm_mday, timeInfos->tm_hour, timeInfos->tm_min, timeInfos->tm_sec ); return 0; }
Améliorations / Corrections
Vous avez des améliorations (ou des corrections) à proposer pour ce document : je vous remerçie par avance de m'en faire part, cela m'aide à améliorer le site.
Emplacement :
Description des améliorations :