如何将GetTickCount()的输出转换为时间格式? [英] How to convert the output of GetTickCount() into time format?

查看:1361
本文介绍了如何将GetTickCount()的输出转换为时间格式?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

嗨朋友们,



我一度陷入困境。我通过使用GetTickCount()函数获得毫秒。现在我想用日期时间格式转换它,如HH:MM:SS格式。



MFC是否提供api直接转换,或者我会用其他方式?请建议我解决方案。



 DWORD dwTickCount = GetTickCount(); 
DWORD m_dwNextCommandTickCount =(DWORD)(dwDiff * 1000 / dFrameRate + dwTickCount);





在上面的代码我要转换时间格式的dwTickCount和m_dwNextCommandTickCount。



提前谢谢

解决方案

该值以毫秒为单位...



 DWORD ticks = GetTickCount(); 
DWORD毫秒=刻度% 1000 ;
ticks / = 1000 ;
DWORD seconds = ticks% 60 ;
ticks / = 60 ;
DWORD分钟=滴答% 60 ;
ticks / = 60 ;
DWORD小时=滴答; // 可能超过24小时。
printf( %d:%02d:%02d。%03d \ n,小时,分钟,秒,毫秒);





如果您不关心毫秒,MFC的CTimeSpan课程可能适合您。



 CTimeSpan span(ticks / 1000); 
printf(%d%02d:%02d:%02d \ n,span.GetDays(),span.GetHours(),span.GetMinutes(),span.GetSeconds());


Hi Friends,

I have stuck at one point. I get milliseconds by using GetTickCount() function. Now I want to convert it in date-time format like HH:MM:SS format.

Is MFC provide api to convert this directly, or I will use any other way? Please suggest me the solution.

DWORD dwTickCount = GetTickCount();
DWORD m_dwNextCommandTickCount = (DWORD)(dwDiff * 1000/dFrameRate + dwTickCount);



In above code I want to convert both dwTickCount and m_dwNextCommandTickCount in time format.

Thanks in advance

解决方案

The value is in milliseconds so ...

DWORD ticks = GetTickCount();
DWORD milliseconds = ticks % 1000;
ticks /= 1000;
DWORD seconds = ticks % 60;
ticks /= 60;
DWORD minutes = ticks % 60;
ticks /= 60;
DWORD hours = ticks; // may exceed 24 hours.
printf("%d:%02d:%02d.%03d\n", hours, minutes, seconds, milliseconds);



If you don't care about milliseconds, MFC's CTimeSpan class may work for you.

CTimeSpan span(ticks/1000);
printf("%d %02d:%02d:%02d\n", span.GetDays(), span.GetHours(), span.GetMinutes(), span.GetSeconds());


这篇关于如何将GetTickCount()的输出转换为时间格式?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆