2015-11-03 101 views
1

首先我不想用#include <ctime>time(0);的時候(0);與ctime。我想要的是如果說時間是10:13:40:23 AM我會得到23的值。我環顧網絡了一會兒,除了ctime之外找不到任何東西,但ctime是以毫秒爲單位的系統時間這意味着價值非常高。另一個例子是12:56:30:192 PM,我會得到192的值。感謝任何幫助:)。如何在C++中獲得毫秒?

+0

這是平臺相關的。你在使用什麼平臺? –

+0

Windows 7.另外我正在使用minGW編譯器。 – MrQandA

+1

請注意,如果您只是通過'1000'修改,您將獲得完全的結果。 – BeyelerStudios

回答

5

使用C++ 11,使用std :: chrono庫。

#include <iostream> 
#include <chrono> 

int main() 
{ 

    auto now = std::chrono::system_clock::now(); 

    std::chrono::milliseconds ms_since_epoch = std::chrono::duration_cast<std::chrono::milliseconds>(now.time_since_epoch()); 
    std::chrono::seconds seconds_since_epoch = std::chrono::duration_cast<std::chrono::seconds>(now.time_since_epoch()); 

    std::cout << (ms_since_epoch - seconds_since_epoch).count() << std::endl; 

    return 0; 
} 

在秒思想,模1000會做相同的減秒。 無論如何,考慮到這個紀元是規範的(對於秒和00,對於毫秒),那部分實際上是現在時刻的實際毫秒測量。

+2

這給出了自紀元以來的總毫秒數。 – Chad

+0

是的,修正了,謝謝。 – Eran