Следующий пример получает время последнего изменения файла при помощи функции GetFileTime. Так же в примере показывается, как преобразовать это время относительно текущей временной зоны и создать строку с датой и временем, для того, чтобы показать пользователю. // Возвращаемое значение - в случае успеха TRUE, иначе FALSE // hFile - дескриптор файла // lpszString - указатель на буфер для строки
BOOL GetLastWriteTime(HANDLE hFile, LPSTR lpszString) { FILETIME ftCreate, ftAccess, ftWrite; SYSTEMTIME stUTC, stLocal;
// Получаем времена файла. if (!GetFileTime(hFile, &ftCreate, &ftAccess, &ftWrite)) return FALSE;
// Преобразуем время последнего изменения в локальное время. FileTimeToSystemTime(&ftWrite, &stUTC); SystemTimeToTzSpecificLocalTime(NULL, &stUTC, &stLocal);
// Составляем строку с датой и временем. wsprintf(lpszString, "%02d/%02d/%d %02d:%02d", stLocal.wDay, stLocal.wMonth, stLocal.wYear, stLocal.wHour, stLocal.wMinute);
return TRUE; } |