Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Проверка времени создания файла

335
14 октября 2005 года
enola
379 / / 25.01.2005
Добрый день!
Подскажите вот этот код проще написать можно:
Код:
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;
13K
14 октября 2005 года
ASmit
10 / / 16.09.2005
Может проще использовать функции FileAge(), FileDateToDateTime() или FileGetDate() ?
362
14 октября 2005 года
_kolyan
339 / / 03.12.2002
Цитата:
Originally posted by ASmit
Может проще использовать функции FileAge(), FileDateToDateTime() или FileGetDate() ?



Правильно. Если не плеваться на VCL, то можно сделать так:

 
Код:
return DateOf(FileDateToDateTime(FileAge(asFileNAme)))) == Today();


это без проверки существования файла, если файла нет, то FileAge == -1. Хотя наверное если -1 конвертировать в дату, это все равно не будет равно сегодня :).
335
15 октября 2005 года
enola
379 / / 25.01.2005
Цитата:
Originally posted by _kolyan
Правильно. Если не плеваться на VCL, то можно сделать так:

 
Код:
return DateOf(FileDateToDateTime(FileAge(asFileNAme)))) == Today();


это без проверки существования файла, если файла нет, то FileAge == -1. Хотя наверное если -1 конвертировать в дату, это все равно не будет равно сегодня :).



а где взять DateUtils.h?

335
15 октября 2005 года
enola
379 / / 25.01.2005
Цитата:
Originally posted by enola
а где взять DateUtils.h?



нашел, вот так называется DateUtils.hpp

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог