怎样获得当前时间的前一天的年月日信息???
做日志记录,记录的方式是每次保存一个文件,文件名以当时的年月日命名,现在想每天自动删除当前时间以前7天内的所有日志文件,该怎么实现???我现在能得到当前时间是多少,但是怎么判断一个文件名是在当前时间之前的7天内???请赐教! 问题点数:50、回复次数:3Top
1 楼young130(young)回复于 2003-06-03 23:01:43 得分 35
CTime ctmstart, ctmend;
ctmstart = CTime::GetCurrentTime(); //得到当前时间
CTimeSpan cts(7, 0, 0, 0); //设置天数差
ctmend = ctmstart - cts; //7天前
....//作比较
//取得时间格式为ctmstart.Format(%Y-%m-%d %H:%M:%S)
//设置时间为CTime(2003, 5, 31, 22, 55, 0)Top
2 楼So1o()回复于 2003-06-04 09:15:34 得分 5
同上Top
3 楼nabie()回复于 2003-06-04 11:53:38 得分 10
你如果使用 GetSystemTime() 或 GetLocalTime() 获取时间,则先用 SystemTimeToFileTime() 把时间转换为 FILETIME,再将转换后的 FILETIME 类型转换成 __int64,用这个值减去 7 天的毫秒数,然后再用 FileTimeToSystemTime() 反向转换回 SYSTEMTIME。
如果使用 C 运行时库的 time() 和 localtime() 获取时间,则将 time() 获取的时间值减去 7 天的秒数,再用 localtime() 取得个时间分量就可以了。Top




