Cómo convertir std::chrono::time_point a segundos desde epoch

Si tienes un std::chrono::time_point como

example.cpp
std::chrono::time_point<std::chrono::system_clock> timepoint = std::chrono::system_clock::now();

Puedes convertirlo a segundos desde epoch primero convirtiéndolo a un chrono::duration usando

example.cpp
timepoint.time_since_epoch(); // Devuelve una duración

y luego usando std::chrono::duration_cast<std::chrono::seconds>(...).count() para convertirlo a segundos desde epoch y obtener el número de intervalos (= segundos) entre epoch y el time point.

example.cpp
std::chrono::duration_cast<std::chrono::seconds>(timepoint.time_since_epoch()).count()

Ejemplo completo:

main.cpp
#include <chrono>
#include <iostream>

int main()
{
    auto timepoint = std::chrono::system_clock::now();
    std::cout << "Seconds since epoch: " <<
        std::chrono::duration_cast<std::chrono::seconds>(timepoint.time_since_epoch()).count() << std::endl;
}

Esto imprime, por ejemplo:

output.txt
Seconds since epoch: 1690755234

Echa un vistazo a artículos similares por categoría: C/C++