Я хочу, чтобы число миллисекунд с эпохи. Популярное решение выглядит следующим образом (один из решений этого вопроса, заданные здесь Get time since epoch in milliseconds, preferably using C++11 chrono)C++ chrono duration_cast для миллисекунд результатов в секундах
#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++
как 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
Update: это работает при использовании г ++ 4.8. Так что это ошибка gcc ?!
g++-4.8 (Debian 4.8.1-2) 4.8.1
Работает хорошо здесь: http://coliru.stacked-crooked.com/view?id=58cbeec8ffe15b00c4c5617e5c661e44-95b421f505320e75ab053309436f3288 –
@ R.MartinhoFernandes вы используете один и тот же г ++ и версии GLibC? – example
Я отредактировал эту ссылку, чтобы включить вывод 'g ++ -v' (это 4.8.1). Это означает, что если это ошибка, это было исправлено. –