如何判断一个文件的修改时间与当前时间相差48小时?

romal 2002-05-13 03:36:38
如何判断一个文件的修改时间与当前时间相差48小时?
...全文
208 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
wangledong 2002-05-13
  • 打赏
  • 举报
回复
TDateTime __fastcall GetFileDateTime ( AnsiString FileName )
{
FILETIME CreatTime, AccessTime, WriteTime;
SYSTEMTIME LCreatTime, LAccessTime, LWriteTime;
int hFile = FileOpen ( FileName, OF_READ );
GetFileTime( (HANDLE )hFile, &CreatTime, &AccessTime, &WriteTime );

FileTimeToSystemTime ( &AccessTime, &LAccessTime );

AnsiString tempStr;

tempStr.sprintf ( "%04d-%02d-%02d %02d:%02d:%02d", LAccessTime.wYear,
LAccessTime.wMonth,LAccessTime.wDay, LAccessTime.wHour,
LAccessTime.wMinute, LAccessTime.wSecond );
FileClose (hFile);
return StrToDateTime ( tempStr );
}
给你一个函数,这个函数可以对文件得创建时间,修改时间和访问时间进行处理,函数里只处理了文件得访问时间,其它你自己做吧!时间得比较我没有给写,csdn里有好多得帖子,你自己看看吧
RedProgramer 2002-05-13
  • 打赏
  • 举报
回复
你可以这样:
TDateTime dt =FileDateToDateTime(FileAge(FileName))+2;
if(dt==Now())
ShowMessage("文件的修改时间与当前时间相差48小时");
jishiping 2002-05-13
  • 打赏
  • 举报
回复
不可能刚刚好相差48小时吧,你是说分秒忽略不计吧。
WORD Y, M, D, H, N, S, MS;
TDateTime dt = Now() - FileDateToDateTime(FileAge(FileName));
dt.DecodeDate(&Y, &M, &D);
dt.DecodeTime(&H, &N, &S, &MS);
if (Y==0 && M==0 && D==2 && H==0)
ShowMessage("文件的修改时间与当前时间相差48小时");

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧