В Windows есть API-функция под названием GetFileTime()
( doc на MSDN ), принимающая дескриптор файла в параметре и 3 FILETIME
структур для заполнения информацией о дате и времени:
FILETIME creationTime,
lpLastAccessTime,
lastWriteTime;
bool err = GetFileTime( h, &creationTime, &lpLastAccessTime, &lastWriteTime );
if( !err ) error
Структура FILETIME
запутана, используйте функцию FileTimeToSystemTime()
, чтобы перевести ее в структуру SYSTEMTIME
, которая намного проще в использовании:
SYSTEMTIME systemTime;
bool res = FileTimeToSystemTime( &creationTime, &systemTime );
if( !res ) error
Затем вы можете использовать поля wYear
, wMonth
и т. Д. Для сравнения с вашим числом дней.