Mit Datum rechnen



  • Ich weiß zwar nicht ob es das ist was du suchst, aber das wäre eine Möglichkeit mit dem Datum zu rechnen.

    UINT64 one_day = 24 * 60 * 60 * 10000000;
    
    SYSTEMTIME st;
    GetLocalTime(&st); // heutiges datum holen
    
    FILETIME ft;
    SystemTimeToFileTime(&st,&ft); // umwandeln in FILETIME
    
    UINT64 * tmptime = reinterpret_cast<UINT64*>(&ft); 
    
    *tmptime -= one_day; // Einen Tag abziehen
    
    FileTimeToSystemTime(&ft,&st); // Wieder in SYSTEMTIME konvertieren
    
    // Jetzt kannst du einfach das SYSTEMTIME Objekt st abfragen 
    std::cout << "Gestern war der " << st.wDay << "." << st.wMonth << "." << st.wYear << std::endl;
    

    BR



  • Swordfish schrieb:

    @Elke100:
    Um mit einem Datum zu rechnen musst du die Anzahl der Monatstage und damit auch Schaltjahre berücksichtigen. Da führt kein Weg daran vorbei. Es kann natürlich sein, dass du eine fertige OpenSource Klasse findest - ich finde jedoch, für so ein einfach zu lösendes Problem ist die Suche nach einer fertigen Klasse aufwändiger, da du sie gegebenenfalls noch für dich anpassen musst.
    Also: Good Luck... 😃

    Greetz, Swordfish

    Siehe vorheriger Post von mir. Mit Hilfe der WinAPI geht das auch so 😉

    Ansonsten kann man sich auch mal Boost.Date_Time anschauen 😉

    BR



  • Hallo evilissimo,

    deine Lösung gefällt mir sehr gut. Ich muss sie mir merken 😉

    Ich habe meine Lösung jetzt im C++ Forum unter < Rechnen mit Datum >
    gepostet. 🙂

    Danke euch allen für eure Hilfe.

    Viele Grüße,
    Elke


Anmelden zum Antworten