J'ai un petit problème causé par une documentation insuffisante de C++ 11.
Je voudrais obtenir un temps depuis Epoch en millisecondes, ou nanosecondes ou secondes et ensuite je devrai "cast" cette valeur à une autre résolution. Je peux le faire en utilisant gettimeofday () mais ce sera trop facile, j'ai donc essayé de le faire en utilisant std :: chrono.
J'ai essayé:
std::chrono::time_point<std::chrono::system_clock> now =
std::chrono::system_clock::now();
Mais je n'ai aucune idée de ce qu'est une résolution obtenue de cette façon time_point, et je ne sais pas comment obtenir ce temps comme un simple long non signé, et je n'ai aucune idée de comment le convertir en une autre résolution.
Vous pouvez faire now.time_since_Epoch()
pour obtenir une durée représentant le temps 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();