当前位置: 代码迷 >> WinCE >> 使用COleDateTimeSpan计算时间差为何值不是0就是天文数字解决思路
  详细解决方案

使用COleDateTimeSpan计算时间差为何值不是0就是天文数字解决思路

热度:121   发布时间:2016-04-28 13:26:39.0
使用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();
  相关解决方案