エポックからのミリ秒数が必要です。一般的な解決策は次のようになります (この質問の解決策の 1 つがここで尋ねられますGet time since epoch in milliseconds、できれば C++11 chrono を使用)
#include <iostream>
#include <chrono>
int main() {
auto millitime = std::chrono::duration_cast<std::chrono::milliseconds>
(std::chrono::system_clock::now().time_since_epoch()).count();
std::cout << millitime << std::endl;
return 0;
}
g++
likeを呼び出してこれをコンパイルするとg++ -std=c++11 main.cpp -o timetest
、出力が得られます
1372686001
エポックからの秒数に等しいです!
これは glibc のバグですか? g ++で?私の間違い?
g++ (Debian 4.7.3-4) 4.7.3
ldd (Debian EGLIBC 2.17-6) 2.17
更新: g++ 4.8 を使用すると機能します。それはgccのバグですか?
g++-4.8 (Debian 4.8.1-2) 4.8.1