使用COleDateTimeSpan计算时间差为何值不是0就是天文数字
COleDateTime time = COleDateTime::GetCurrentTime();
//用于取得系统时间
.................
SysStartTime.Format(_T( "%.2u:%.2u:%.2u:%2u "),nDay,nHour,nMinute,nSecond);
SysStopTime.Format(_T( "%.2u:%.2u:%.2u:%2u "),nDay,nHour,nMinute,nSecond);
COleDateTimeSpan span = SysStopTime - SysStartTime;//SysStopTime和SysStartTime都是CString类型
CString str;
str.Format(_T( "%f "),abs(span.GetSeconds()));
//str.Format(_T( "%f:%f:%f:%f "),Day,Hour,Minute,Second);
AfxMessageBox(str); //输出这个时间差,是零
之前编出过输出是天文数字
总之,困扰我两天的问题了,不知道是span用的不对还是哪不对。
希望大家帮帮忙啊 谢谢
[解决办法]
别跟我说你是用这段代码来确定程序运行的时间啊
如果是确定运行时间的话,我建议你用
LARGE_INTEGER Freg;
LARGE_INTEGER Count1,Count2;
QueryPerformanceFrequency(&Freg);
QueryPerformanceCounter(&Count1);
来实现
还有,Span在我的机器上是可以用的,我想是你获取时间的地方可能有问题吧
COleDateTime oleDate = COleDateTime::GetCurrentTime();