FILETIME

 

La structure FILETIME

La structure FILETIME est en fait un nombre sur 64 bits qui représente le nombre de 100-nanosecond écoulé depuis le 1er janvier 1601.

typedef struct _FILETIME {
   DWORD dwLowDateTime; // Partie basse
   DWORD dwHighDateTime; // Partie haute
   } FILETIME, 
   *PFILETIME;

Pour convertir ce nombre illisible en quelque chose d'affichable, on utilisera la fonction FileTimeToSystemTime()

Microsoft conseil pour calculer une heure relative de passer d'une struture FILETIME vers une structure ULARGE_INTEGER, que je n'ai jamais essayé...

 

conversion de FILETIME en SYSTEMTIME:

BOOL FileTimeToSystemTime(
const FILETIME* lpFileTime,
LPSYSTEMTIME lpSystemTime
);

En entrée: lpFileTime de type FILETIME

et lpSystemTime de type SYSTEMTIME

 

Structure SYSTEMTIME

Représentation de la date et de l'heure

typedef struct _SYSTEMTIME {
WORD wYear;
WORD wMonth;
WORD wDayOfWeek;
WORD wDay;
WORD wHour;
WORD wMinute;
WORD wSecond;
WORD wMilliseconds;
} SYSTEMTIME,
*PSYSTEMTIME;

Avec

wYear : L'année(1601 - 30827)

wMonth : Le mois (1 à 12)

wDayOfWeek : Le jour de la semaine avec dimanche comme premier jour (0 - 6)

wDay : Le jour dans le mois (1-31)

wHour : L'heure sur 24 H (0-23)

wMinute : Les minutes (0-59)

wSecond : Les secondes (0-59)

wMilliseconds : Le nombre de milliseconde (0-999)

 

conversion en structure time_t !

Voir chapitre "Horloge", paragraphe "structure de la date horloge et de la date des fichiers"