CTime initialisieren



  • Hallo, ich habe in meinem Code zwei (long) Zahlen:
    - 20120207 (das Datum)
    - 115922 (die Zeit)

    Wie mache ich daraus am besten ein CTime Objekt?
    So wie ich das sehe, muss man die Zahlen (Tag, Monat, Jahr, Minute, Sek. etc) einzlent übergeben.
    Ich habe sie bereits als ganze Zahl.

    Kann ich die auch so irgendwie initialisieren?
    Wenn nicht, gibt es ne Möglichkeit wie ich meine zusammengefasste Zahlen splitten kann? So das ich die einzelne Zahlen übergeben kann?


  • Mod

    Mathematik!

    #include <iostream>
    
    int main()
    {
      long datum = 20120207;
    
      long jahr = datum / 10000;
      datum %= 10000;
      long monat = datum / 100;
      datum %= 100;
      long tag = datum;
    
      std::cout << jahr << ' ' << monat << ' ' << tag << '\n';
    }
    

    Ebenso für die Uhrzeit.

    Wo hast du denn dieses bescheidene Datumsformat her? Das ist recht ungewöhnlich.



  • Danke.
    Was genau macht der %= Operator?


  • Mod

    a %= x;
    // das gleiche wie
    a = a % x;
    

    % ist der modulo-Operator. Der Divisionsrest.

    Nochmal: Wo hast du dieses Datumsformat her?



  • Danke.
    Bekomme aus einer Datenbank.


Anmelden zum Antworten