Bonjour,

Suite à un code qui permet de récuperer la date et l'heure de création d'un fichier. Je souhaite voir si le fichier date de plus de 30 jours.

J'ai fait quelques test, mais je vois pas comment faire.

Voici le code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
 
  BOOL myGetFileTime(const char * NameFile, LPTSTR lpszCreate,LPTSTR lpszAccess,LPTSTR lpszWrite){ 
    FILETIME ftCreate, ftAccess, ftWrite; 
    SYSTEMTIME stUTC, stCreateLocal,stAccessLocal,stWriteLocal; 
 
  //opuverture du handle de fichier si existe 
    HANDLE hFile = CreateFile(NameFile,0,FILE_SHARE_READ | FILE_SHARE_WRITE,NULL, 
                               OPEN_EXISTING,0,NULL); 
    if (hFile != INVALID_HANDLE_VALUE){ 
    //Recupere les temps du fichier 
      if (!GetFileTime(hFile, &ftCreate, &ftAccess, &ftWrite)) 
         return FALSE; 
       else 
         CloseHandle(hFile); 
      //end if 
     }else 
        return FALSE; 
    //end if 
 
  //Converti le temp de creation en temp local 
    FileTimeToSystemTime(&ftCreate, &stUTC); 
    SystemTimeToTzSpecificLocalTime(NULL, &stUTC, &stCreateLocal); 
 
  //Converti le temp dern.acce en temp local. 
    FileTimeToSystemTime(&ftAccess, &stUTC); 
    SystemTimeToTzSpecificLocalTime(NULL, &stUTC, &stAccessLocal); 
 
  //Converti le temp dern.modif en temp local. 
    FileTimeToSystemTime(&ftWrite, &stUTC); 
    SystemTimeToTzSpecificLocalTime(NULL, &stUTC, &stWriteLocal); 
 
 
  //Construit les chaines pour montrer la date et le temp. 
    wsprintf(lpszCreate, TEXT("%02d/%02d/%d %02d:%02d"), 
             stCreateLocal.wMonth, stCreateLocal.wDay, stCreateLocal.wYear, 
             stCreateLocal.wHour, stCreateLocal.wMinute); 
 
    wsprintf(lpszAccess, TEXT("%02d/%02d/%d %02d:%02d"), 
             stAccessLocal.wMonth, stAccessLocal.wDay, stAccessLocal.wYear, 
             stAccessLocal.wHour, stAccessLocal.wMinute); 
 
    wsprintf(lpszWrite, TEXT("%02d/%02d/%d %02d:%02d"), 
             stWriteLocal.wMonth, stWriteLocal.wDay, stWriteLocal.wYear, 
             stWriteLocal.wHour, stWriteLocal.wMinute); 
 
    return TRUE; 
  }//end process