58 votes

Temps système chrono C ++ en millisecondes, opérations temporelles

J'ai un petit problème causé par l'insuffisance de la documentation du C++11.

J'aimerais obtenir un temps écoulé depuis le moment en millisecondes, ou nanosecondes ou secondes et ensuite je me "jette" cette valeur à une autre résolution. Je peux le faire à l'aide de gettimeofday (), mais il sera facile, j'ai donc essayé de l'atteindre en utilisant std::chrono.

J'ai essayé:

std::chrono::time_point maintenant = std::chrono::system_clock::now();

Mais je n'ai aucune idée de ce qu'est une résolution de obtenus de cette manière time_point, et je ne sais pas comment obtenir cette fois-ci comme un simple unsigned long long, et je n'ai pas de conception de la manière de voter, à une autre résolution.

103voto

R. Martinho Fernandes Points 96873

Vous pouvez faire now.time_since_epoch() pour obtenir une durée représentant le temps écoulé depuis l'époque, avec la résolution de l'horloge . Pour convertir en millisecondes, utilisez duration_cast :

 auto duration = now.time_since_epoch();
auto millis = std::chrono::duration_cast<std::chrono::milliseconds>(duration).count();
 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X