relative zeit umwandeln?



  • Hallo Leute,

    ich habe bspw.einen relativen zeitwert

    long tTime= 4250 //Sekunden

    nun würde ich diesen werte in ein tm typ wandeln,
    und zwar so, das hier

    1 Stunde, 10min, 50sek rauskommen würde..

    aber die normalen c++ zeitfunktionen berechnen nur absolut zeit werte odeR?



  • #include <iostream>
    #include <boost/date_time/posix_time/posix_time.hpp>
    
    using namespace std;
    using namespace boost::posix_time;
    
    int main()
    {
        time_duration td = seconds(4250);
        cout << "Stunden: " << td.hours()
            << "Minuten: " << td.minutes()
            << "Sekunden: " << td.seconds() << endl;
    }
    


  • Und wenn du es ohne Boost machen willst:

    int time = 4250;
    
    int h   = time/3600;  // Stunden
    time -= h*3600;
    int min = time/60;    // Minuten
    time -= min*60;
    int s   = time;       // Sekunden
    

    Ginge natürlich auch mit Modulo... Wenn du willst, kannst du ja auch eine Funktion daraus machen (oder drei).
    Mit ein wenig Überlegen kann man solche Funktionen leicht selber implementieren 😉


Log in to reply