永发信息网

mfc计算运算时间

答案:4  悬赏:20  手机版
解决时间 2021-01-29 08:24
在mfc里面有一个几分钟的运算,我想计算它的运算时间。精确到秒就可以。把函数的详细用法告诉我,尤其是时间的格式。
最佳答案
计算前和计算后分别获取当前时间,然后用时间相减

inline __int64 TimeDiff(SYSTEMTIME left,SYSTEMTIME right)
{
CTime tmLeft(left.wYear,left.wMonth,left.wDay,0,0,0);
CTime tmRight(left.wYear,left.wMonth,left.wDay,0,0,0);
CTimeSpan sp;
sp = tmLeft - tmRight;//计算日期比较麻烦,就交给MFC去做吧
long lLMinllis = (left.wHour*3600 + left.wMinute*60 + left.wSecond)*1000 + left.wMilliseconds;
long lRMinllis = (right.wHour*3600 + right.wMinute*60 + right.wSecond)*1000 + right.wMilliseconds;

return (__int64)sp.GetDays()*86400000 + (lLMinllis - lRMinllis);
}
全部回答
法一 利用GetTickCount数 long t1=GetTickCount();//程序段开始前取得系统运行时间(ms) 。。。。。。//to do sth long t2=GetTickCount();//程序段结束后取得系统运行时间(ms) cout<
  • 2楼网友:煞尾
  • 2021-01-28 21:51
用括号
  • 3楼网友:笑迎怀羞
  • 2021-01-28 20:48
计算前和计算后分别获取当前时间,然后用时间相减 inline __int64 TimeDiff(SYSTEMTIME left,SYSTEMTIME right) { CTime tmLeft(left.wYear,left.wMonth,left.wDay,0,0,0); CTime tmRight(left.wYear,left.wMonth,left.wDay,0,0,0); CTimeSpan sp; sp = tmLeft - tmRight;//计算日期比较麻烦,就交给MFC去做吧 long lLMinllis = (left.wHour*3600 + left.wMinute*60 + left.wSecond)*1000 + left.wMilliseconds; long lRMinllis = (right.wHour*3600 + right.wMinute*60 + right.wSecond)*1000 + right.wMilliseconds; return (__int64)sp.GetDays()*86400000 + (lLMinllis - lRMinllis); }
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯