Uhrzeit in Minuten



  • Hallo Leute undzwar habe ich das Problem, dass ich noch Anfänger in c++ bin.
    Nun wollte ich mir die uhrzeit in Minuten ausgeben.
    Aber irgendwie habe ich wohl kläglich versagt.
    Das ist mein Quelltext am ende kommt immer eine unmögliche zahl raus.
    Falls jemand nen einfachern weg weis die Uhrzeit in Minuten zu bekommen, kann er
    mir es ruhig mitteilen. :p

    #include <stdio.h>
    #include <time.h>

    int main ()

    {
    time_t rawtime;
    struct tm * ptm;

    time ( &rawtime );

    ptm = gmtime ( &rawtime );

    printf (" %2d:%02d\n", (ptm->tm_hour), ptm->tm_min);
    printf (" %02d\n", ptm->tm_min);
    printf (" %2d\n", (ptm->tm_hour) );

    printf (" %2d%02d\n", ptm->tm_hour*60 + ptm->tm_min);

    return 0;
    }



  • Dieser Thread wurde von Moderator/in SeppJ aus dem Forum C++ (auch C++0x und C++11) in das Forum C (C89, C99 und C11) verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.


  • Mod

    Stumpfel schrieb:

    Hallo Leute undzwar habe ich das Problem, dass ich noch Anfänger in c++ bin.

    Nein, du bist Anfänger in C. Riesenunterschied.

    Nun wollte ich mir die uhrzeit in Minuten ausgeben.

    Ich verstehe nicht, was du möchtest. Wie spät ist der 19. März 2013, 17:40 MEZ in Minuten?



  • Stumpfel schrieb:

    printf (" %2d%02d\n", ptm->tm_hour*60 + ptm->tm_min);
    

    Da erwartet printf 3 Parameter. Den Formatstring und weil da zwei Formatspecifier (die %d) drin sind, noch 2 weitere Parameter.
    Paramter werden durch Kommas getrennt.
    Du hast aber nur einen zusätzlichen Parameter angegeben: ptm->tm_hour*60 + ptm->tm_min
    Den Wert für den zweiten Paramter nimmt sich printf einfach und druckt das aus, was es vorfindet.
    Da du aber keine Leerzeichen zwischen den Specifieren gelassen hast, werden die Werte direkt hintereinander gedruckt.
    Die kannst du dann nicht mehr unterscheiden.



  • Für sowas gibt es strftime, ist sogar aus der Standardbibliothek.



  • Wutz schrieb:

    Für sowas gibt es strftime, ist sogar aus der Standardbibliothek.

    Wie lautet denn der Specifier für "Minuten seit Mitternacht (0-1439)" ?



  • http://ideone.com/rouwlC
    will heißen, dass wenn man sich in Umfeld mit struct tm und Strings bewegt, nicht die genau für diesen Kontext vorhandenen Bibliotheksfunktionen vergessen sollte.



  • 🤡
    Mit der Antwort hättest du besser noch 12 Tage gewartet.


Log in to reply