Zeitspanne (NICHT Datum) formatieren
-
Hallo!
Habe etwas im forum gestöbert als auch Google bemüht und bin schon auf einiges gestoßen - allerdings konnte ich keine 100%ige Lösung finden.
Das Problem ist schnell erklärt: ich habe eine Zeitmessung in Sekunden und würde diese gerne auf dem einfachsten Wege als MM:SS formatiert (mit führenden Nullen falls nötig) ausgeben. Zwar habe ich vieles zur formatierten Datumsausgabe gefunden, aber ich würde doch nunmal gerne einen Zeitraum ausgeben, kein Datum!
Mir kam die Idee, meine gemessene Zeit einfac hauf den 1.1.1970 drauf zu addieren und dann die Stunden und Minuten seit 1970 ausgeben lassen, finde das aber höchst unsauber. Ansonsten habe ich mir eine funktion gebastelt, welche mein Vorhaben manuell erreicht, aber da muss es doch irgendetwas geben.
Danke
-
Was spricht hiergegen?
int main() { int Zeitangabe = 1165; int Minuten = Zeitangabe / 60; int Sekunden = Sekunden % 60; std::cout << Minuten << ":" << Sekunden; }
-
Danke schonmal.
Ist dir evt. ein Fehler unterlaufen?
int Sekunden = Sekunden % 60;Sotlle wohl Minuten heissen. Okay gut, so ähnlich hatte ih das schon. Leider habe ich jetzt ja erst keine Formatierung - gut, bei den Minuten kann ich mir die führende Null sparen, aber bei den Sekunden wäre es schon schöner als z.B. "23:3"
Danke
-
#include <iomanip> #include <iostream> int main() { int zeit = 486; std::cout << std::setfill('0') << std::setw(2) << zeit / 60 << ':' << std::setw(2) << zeit % 60 << std::endl; }
-
Nein, mir ist kein Fehler unterlaufen. Was genau willst du eigentlich?
-
FreakY<3Cpp schrieb:
Nein, mir ist kein Fehler unterlaufen. Was genau willst du eigentlich?
Habe mit dem Thread nichts zu tun, aber muss dir hier definitiv widersprechen.
int Sekunden = Sekunden % 60;Das zweite Sekunde ist eindeutig falsch. Um das sagen zu können, muss man nicht mal das Ausgangsposting lesen.
-
Achso das... Stimmt

-
boost date_time macht alles was mit Datum und Zeit zu tun hat sehr einfach.
http://www.boost.org/doc/libs/1_42_0/doc/html/date_time.html
http://www.boost.org/doc/libs/1_42_0/doc/html/date_time/date_time_io.htmlVielleicht reicht dir auch schon ein boost progress_timer
http://www.boost.org/doc/libs/1_42_0/libs/timer/timer.htm#Class progress_timer