HANDLE hFile;
FILETIME ftCreate, ftAccess, ftWrite;
SYSTEMTIME stUTC, stCurTime;
// Переводим File->Handle
FILE* f = fopen(asFileName.c_str(), "r");
int handle = _fileno(f);
hFile = (HANDLE) _get_osfhandle(handle);
// Получаем дату создания файла
if (!GetFileTime(hFile, &ftCreate, &ftAccess, &ftWrite))
return false;
// Конвертируем файл время в системное
FileTimeToSystemTime(&ftCreate, &stUTC);
// Получаем текущее время
GetLocalTime(&stCurTime);
// Сравниваем дату создания файла с текущей
if ((stUTC.wYear != stCurTime.wYear) ||
(stUTC.wMonth != stCurTime.wMonth) ||
(stUTC.wDay != stCurTime.wDay))
return false;
return true;
Проверка времени создания файла
Добрый день!
Может проще использовать функции FileAge(), FileDateToDateTime() или FileGetDate() ?
Цитата:
Originally posted by ASmit
Может проще использовать функции FileAge(), FileDateToDateTime() или FileGetDate() ?
Может проще использовать функции FileAge(), FileDateToDateTime() или FileGetDate() ?
Правильно. Если не плеваться на VCL, то можно сделать так:
Код:
return DateOf(FileDateToDateTime(FileAge(asFileNAme)))) == Today();
это без проверки существования файла, если файла нет, то FileAge == -1. Хотя наверное если -1 конвертировать в дату, это все равно не будет равно сегодня :).
Цитата:
Originally posted by _kolyan
Правильно. Если не плеваться на VCL, то можно сделать так:
это без проверки существования файла, если файла нет, то FileAge == -1. Хотя наверное если -1 конвертировать в дату, это все равно не будет равно сегодня :).
Правильно. Если не плеваться на VCL, то можно сделать так:
Код:
return DateOf(FileDateToDateTime(FileAge(asFileNAme)))) == Today();
это без проверки существования файла, если файла нет, то FileAge == -1. Хотя наверное если -1 конвертировать в дату, это все равно не будет равно сегодня :).
а где взять DateUtils.h?
Цитата:
Originally posted by enola
а где взять DateUtils.h?
а где взять DateUtils.h?
нашел, вот так называется DateUtils.hpp