Se você tem um std::chrono::time_point como
timepoint_now.cpp
std::chrono::time_point<std::chrono::system_clock> timepoint = std::chrono::system_clock::now();Você pode convertê-lo para milissegundos desde epoch primeiro convertendo-o para um chrono::duration usando
timepoint_time_since_epoch.cpp
timepoint.time_since_epoch(); // Returns a duration
e então usando std::chrono::duration_cast<std::chrono::milliseconds>(...).count() para convertê-lo para milissegundos desde epoch e obtendo o número de intervalos (= segundos) entre epoch e o ponto no tempo.
timepoint_to_ms.cpp
std::chrono::duration_cast<std::chrono::milliseconds>(timepoint.time_since_epoch()).count()Exemplo completo:
timepoint_example.cpp
#include <chrono>
#include <iostream>
int main()
{
auto timepoint = std::chrono::system_clock::now();
std::cout << "Milliseconds since epoch: " <<
std::chrono::duration_cast<std::chrono::milliseconds>(timepoint.time_since_epoch()).count() << std::endl;
}Isso imprime, por exemplo:
ms_output.txt
Milliseconds since epoch: 1690755347529
Check out similar posts by category:
C/C++
If this post helped you, please consider buying me a coffee or donating via PayPal to support research & publishing of new posts on TechOverflow