首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > WinCE >

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

2012-03-25 
使用COleDateTimeSpan计算时间差为何值不是0就是天文数字COleDateTimetimeCOleDateTime::GetCurrentTime(

使用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();

热点排行