TAG:
CTime t1(sys_time1); CTime t2(sys_time2); CTimeSpan ts = t2 - t1; UINT nTotalDays = ts.GetTotalHours() / 24; ———————————————————————————————————————— 大哥:win32下不支持CTime类。 ———————————————————————————————————————— Sorry,审题不清楚,没看到Win32下 下面是我经过测试正确的代码: void FileTimeToTime_t( FILETIME ft, time_t *t ) { LONGLONG ll; ULARGE_INTEGER ui; ui.LowPart = ft.dwLowDateTime; ui.HighPart = ft.dwHighDateTime; ll = ft.dwHighDateTime << 32 + ft.dwLowDateTime; *t = ((LONGLONG)(ui.QuadPart - 116444736000000000) / 10000000); } DWORD GetDiffDays( SYSTEMTIME t1, SYSTEMTIME t2 ) { FILETIME fTime1; FILETIME fTime2; time_t tt1; time_t tt2; SystemTimeToFileTime( &t1, &fTime1 ); SystemTimeToFileTime( &t2, &fTime2 ); FileTimeToTime_t( fTime1, &tt1 ); FileTimeToTime_t( fTime2, &tt2 ); time_t difftime = tt2 - tt1; return difftime / (24*3600L);// 除以每天24小时3600秒 } (admin) |