c ++ chrono duration_cast a milisegundos resulta en segundos
Quiero tener el número de milisegundos desde la época. Una solución popular es la siguiente (una de las soluciones de esta pregunta que se hace aquí)Obtenga tiempo desde la época en milisegundos, preferiblemente con el crono C ++ 11 )
#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;
}
compilando esto con una llamada ag++
me gustag++ -std=c++11 main.cpp -o timetest
resultados en la salida
1372686001
que es igual al número desegundos desde la época!
¿Es este un error en el glibc? en g ++? ¿mi error?
g++ (Debian 4.7.3-4) 4.7.3
ldd (Debian EGLIBC 2.17-6) 2.17
Actualizar: funciona cuando se usa el g ++ 4.8. ¿Así que es un error de gcc?
g++-4.8 (Debian 4.8.1-2) 4.8.1