Пример ниже использует функцию GetFileTime, чтобы извлечь время последней записи в файл. Он преобразует время в местное время, основанное на текущих параметрах настройки часового пояса и создает строку даты и времени, которая может быть показана пользователю.
// GetLastWriteTime - Извлекает время последней записи и преобразует время в строку // Возвращаемое значение - TRUE, если завершается успешно, иначе FALSE // hFile - Допустимый дескриптор файла // lpszString - Указатель на буфер, который принимает строку BOOL GetLastWriteTime(HANDLE hFile, LPTSTR 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, TEXT("%02d/%02d/%d %02d:%02d"), stLocal.wMonth, stLocal.wDay, stLocal.wYear, stLocal.wHour, stLocal.wMinute); return TRUE; }
|