std::chrono::duration stellt eine Zeitspanne dar. Zum Beispiel wie lange ein Programm schon läuft. Eine Textausgabe in Sekunde, Minuten, Stunden u.s.w wäre also schön. Die Umrechnung von std::chrono::duration nach Stunden ist super einfach.
Die Hauptarbeit übernimmt std::chrono::duration_cast und vordefinierte Werte für Sekunden, Minunten und Stunden gibt es schon. Die Erweiterung für Tage ist entsprechend einfach.
void nicedateTime(std::chrono::duration<double> dur) {
typedef std::chrono::duration<int64_t, std::ratio<24*3600>> day;
auto days = std::chrono::duration_cast<day>(dur);
dur -= days;
std::cout << days.count() << "d ";
auto HH = std::chrono::duration_cast<std::chrono::hours>(dur);
dur -= HH;
std::cout << HH.count() << "h ";
auto min = std::chrono::duration_cast<std::chrono::minutes>(dur);
dur -= min;
std::cout << min.count() << "m ";
auto sec = std::chrono::duration_cast<std::chrono::seconds>(dur);
std::cout << sec.count() << "s ";
}