我需要将文件的最后修改时间与存储在数据库中的日期时间进行比较。我最初是从这个问题开始的。
我目前正在获取FILETIME
文件的最后一次写入,将其转换为SYSTEMTIME
. 然后我用它SYSTEMTIME
来创建一个TDateTime
可以用于比较的对象。然而,FileModifiedDT
变量总是显示为当前时间,尽管该文件之前已被修改过。
FILETIME lastWriteTime;
String * FileNamePtr = new String( FileName );
GetFileTime( FileNamePtr, NULL, NULL, &lastWriteTime );
SYSTEMTIME systemTime;
FileTimeToSystemTime( &lastWriteTime, &systemTime );
TDateTime * FileModifiedDT = new TDateTime( systemTime.wYear, systemTime.wMonth,
systemTime.wDay, systemTime.wHour,
systemTime.wMinute, systemTime.wSecond,
systemTime.wMilliseconds );
我是否GetFileTime
以某种方式滥用?有没有更好的方法可以解决这个问题?