C++20 a introduit une garantie que time_since_epoch
est relatif à l'époque UNIX, et cppreference.com donne un exemple que j'ai distillé dans le code pertinent, et changé en unités de secondes plutôt que d'heures :
#include <iostream>
#include <chrono>
int main()
{
const auto p1 = std::chrono::system_clock::now();
std::cout << "seconds since epoch: "
<< std::chrono::duration_cast<std::chrono::seconds>(
p1.time_since_epoch()).count() << '\n';
}
Utilisation de C++17 ou d'une version antérieure, time()
est la fonction la plus simple - secondes depuis Epoch, qui pour Linux et UNIX au moins serait l'époque UNIX. Linux page de manuel ici .
La page cppreference liée ci-dessus donne ceci exemple :
#include <ctime>
#include <iostream>
int main()
{
std::time_t result = std::time(nullptr);
std::cout << std::asctime(std::localtime(&result))
<< result << " seconds since the Epoch\n";
}