Преобразование даты
От: sashagol Россия  
Дата: 05.10.05 10:53
Оценка:
Хотим найти файлы по заданной дате посдледнего обращения к нему,нам выдается окно с цифрами 215817231. Как можно преобразовать эти цифры в понятную форму.

WIN32_FIND_DATA qaz;
qaz.ftLastAccessTime.dwLowDateTime
С уважением, Александр!
Re: Преобразование даты
От: c0unt Украина  
Дата: 05.10.05 11:34
Оценка:
Здравствуйте, sashagol, Вы писали:

S>Хотим найти файлы по заданной дате посдледнего обращения к нему,нам выдается окно с цифрами 215817231. Как можно преобразовать эти цифры в понятную форму.

S>WIN32_FIND_DATA qaz;
S>qaz.ftLastAccessTime.dwLowDateTime

например вот так:

FileTimeToLocalFileTime(&ff.ftCreationTime, &fLocalTime ); //из UTC в локальное время
FileTimeToSystemTime(&fLocalTime, &fSystemTime);  //конвертим в системное время
//если после этого нужно сравнивать время создания 2х файлов или файла с эталоном, используй  
SystemTimeToTzSpecificLocalTime(...); //чтобы избежать накладок из-за возможной разницы в timezone ;)
if ( filedate.wMonth > 1 || filedate.wDay > 10 )...
-=Life is full of little surprises=-
Re: Преобразование даты
От: Ondron  
Дата: 05.10.05 20:53
Оценка:
Здравствуйте, sashagol, Вы писали:

S>Хотим найти файлы по заданной дате посдледнего обращения к нему,нам выдается окно с цифрами 215817231. Как можно преобразовать эти цифры в понятную форму.


S>WIN32_FIND_DATA qaz;

S>qaz.ftLastAccessTime.dwLowDateTime

Я делал так (привожу пример с учётом заданной в вопросе величины):

time_t time = 215817231;
tm *ltime = localtime(&t);
char *strtime = asctime(ltime);

Встречный вопрос: у меня не работает функция назначения файлу времени последней модификации utime.
С правами доступа к файлу всё в порядке, они такую операцию допускают.
Но нужного результата она не даёт (дата остаётся прежней).
Может кто-то сталкивался с подобной проблемой?
Re[2]: Преобразование даты
От: c0unt Украина  
Дата: 06.10.05 06:01
Оценка:
Здравствуйте, Ondron, Вы писали:

O>Встречный вопрос: у меня не работает функция назначения файлу времени последней модификации utime.

O>С правами доступа к файлу всё в порядке, они такую операцию допускают.
O>Но нужного результата она не даёт (дата остаётся прежней).
O>Может кто-то сталкивался с подобной проблемой?

// с этой функцией таких проблем не должно быть  ;) 
SetFileTime(
  HANDLE hFile,                     // handle to file
  CONST FILETIME *lpCreationTime,   // creation time
  CONST FILETIME *lpLastAccessTime, // last-access time
  CONST FILETIME *lpLastWriteTime   // last-write time
);
-=Life is full of little surprises=-
Re[3]: Преобразование даты
От: Ondron  
Дата: 06.10.05 15:15
Оценка:
Здравствуйте, c0unt, Вы писали:

C>Здравствуйте, Ondron, Вы писали:


O>>Встречный вопрос: у меня не работает функция назначения файлу времени последней модификации utime.

O>>С правами доступа к файлу всё в порядке, они такую операцию допускают.
O>>Но нужного результата она не даёт (дата остаётся прежней).
O>>Может кто-то сталкивался с подобной проблемой?

C>
C>// с этой функцией таких проблем не должно быть  ;) 
C>SetFileTime(
C>  HANDLE hFile,                     // handle to file
C>  CONST FILETIME *lpCreationTime,   // creation time
C>  CONST FILETIME *lpLastAccessTime, // last-access time
C>  CONST FILETIME *lpLastWriteTime   // last-write time
C>);
C>



Огромное спасибо, только вот беда:
мне это нужно для сборки и работы в Линукс. Сомневаюсь, что эта функция есть в libc.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.