2009-12-24 177 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