2009-12-24 105 views
2

如何从TickCounts转换为毫秒?Tickcount和C++中的毫秒

这是我用什么:

long int before = GetTickCount(); 
long int after = GetTickCount(); 

我想它在几秒钟的差异。

+0

丹尼,你的问题是不明确的。你想要几秒还是几毫秒?当你编辑你的问题来澄清,还请包括证据表明你已经阅读了你打电话的函数的文档。如果你已经阅读过,但没有理解,那没问题,但是请描述你遇到了什么问题。 – 2009-12-24 20:02:34

回答

11
int seconds = (after - before) /1000; 
1

我不知道你使用什么操作系统/平台,但是应该有一个返回以毫秒为单位刻度时的呼叫。

time = after - before * <tick time in milliseconds>; 


编辑:

我看到,这是一个已经返回毫秒的Windows功能。其他答案更好。

+0

转换为秒是对读者的练习。 ;-) – 2009-12-24 17:28:28

1

GetTickCount()返回以毫秒为单位的时间。所以(after - before)/<milli equivalent>应该给你在几秒钟内

+0

“毫当量”当然是1000,因为毫秒是1/1000秒。 :-) – 2009-12-24 18:32:49

1
int seconds = (after - before + 500)/1000; 

或:

double seconds = (after - before)/1000.0; 
+0

为什么“+ 500”? OP没有指定整秒,所以为什么要四舍五入? – 2009-12-24 18:26:49

+1

注意整数除法,它不会生成浮点值。添加500并不是四舍五入,而是四舍五入。 – 2009-12-24 18:52:13