关于文件时间与系统时间的比较
目的:用VC写个程序来遍历一个目录下所有文件,比较文件创建时间与当前系统时间,如果创建时间已经超过七天,那就删除。现在遍历的代码已经写好,就差时间比较这一块了,请大家帮忙呀:) 问题点数:20、回复次数:9Top
1 楼ysdesigned(清泉)回复于 2003-06-03 11:18:05 得分 0
GetFileTimeTop
2 楼2i3i4i(世界不断的改变)回复于 2003-06-03 11:23:56 得分 10
首先用GetFileTime得到文件的创建时间。
再得到系统时间,
把两个时间相减得出一个CTimeSpan的变量,
判断CTimeSpan这个变量的GetDays()是否大于7,
以决定是否要删除。Top
3 楼apachezq(apache_zq)回复于 2003-06-03 11:56:17 得分 0
那系统时间怎么取得呢?Top
4 楼2i3i4i(世界不断的改变)回复于 2003-06-03 11:58:37 得分 0
you can use
CTime::GetCurrentTime()Top
5 楼nuaawenlin(飘人)回复于 2003-06-03 12:25:47 得分 0
GetLocalTime();Top
6 楼apachezq(apache_zq)回复于 2003-06-03 12:29:22 得分 0
CTime m_tStart;
CTimeSpan m_tLast;
LPFILETIME lpCreationTime;
GetFileTime(wfd,IpCreationTime);//wfd为文件句柄
m_tStart.GetTime();
m_tLast=lpCreationTime-m_tStart;
m_tLast.GetDays();
if ( m_tLast.GetDays() > 7 ){
DeleteFile(szFile);
}
可是报错
Top
7 楼Darnshong(旋风)回复于 2003-06-03 13:00:23 得分 10
CTime m_tStart;
CTimeSpan m_tLast;
LPFILETIME lpCreationTime;
GetFileTime(wfd,IpCreationTime);//wfd为文件句柄
m_tStart=CTime::GetCurrentTime();
CTime m_tCreat=CTime(lpCreationTime);
m_tLast=m_tStart-m_tCreat;
m_tLast.GetDays();
if ( m_tLast.GetDays() > 7 ){
DeleteFile(szFile);
}
Top
8 楼apachezq(apache_zq)回复于 2003-06-03 13:41:18 得分 0
CTime m_tStart;
CTimeSpan m_tLast;
LPFILETIME lpCreationTime;//这句出错,说undeclared identifier,是不是缺什么头文件啊?
GetFileTime(wfd,IpCreationTime);//wfd为文件句柄
m_tStart=CTime::GetCurrentTime();
CTime m_tCreat=CTime(lpCreationTime);
m_tLast=m_tStart-m_tCreat;
m_tLast.GetDays();
if ( m_tLast.GetDays() > 7 ){
DeleteFile(szFile);
}
Top
9 楼yingyys(鹰)回复于 2003-06-03 13:51:14 得分 0
gzTop



