Mit Datum rechnen



  • lol, na ok...wie du meinst...aber ich finde Swordfishs Klasse verdammt gut(für deinen Zweck 😃 )

    Elke100 schrieb:

    so etwas möchte ich gerade vermeiden .
    Es gibt eine andere Möglichkeit : Das Datum in long umwandeln , damit rechnen und dann wieder zurück .

    Na es geht doch: Du willst also nur ein Datum von einem String(std::string/C-String ? ) in eine long Variable umwandeln ?



  • Elke100 schrieb:

    Es gibt eine andere Möglichkeit : Das Datum in long umwandeln , damit rechnen und dann wieder zurück.
    ich habe noch nicht herausgefunden wie das geht...

    Mit in long umwandeln und damit rechnen wird nicht funktionieren. Schade das du ein ungläubiger bist. 😃

    Greetz Swordfish



  • Ich hab's doch nicht mehr. Sorry. 🙄

    @Elke: Was findste denn an Swordfishs Klasse nicht gut?



  • [opinion] Elke ist einfach zu faul um sie zu erweitern [/opinion]

    Greetz, Swordfish



  • Jetzt hackts halt nicht so auf der Elke rum.

    MfG,
    *Ranner*



  • Ich hack nicht auf Elke100 'rum, sondern spreche nur das offensichtliche aus.

    Greetz, Swordfish



  • Hallo Greetz, Swordfish ,

    bitte nicht gleich beleidigt sein. 😉
    Ich finde deine Lösung nicht schlecht , aber es gibt eine einfachere
    Lösung. Wenn ich sie habe , dann stelle ich sie hier unbedingt rein.

    Danke !

    Viele Grüße,
    Elke



  • @Elke100:

    Elke100 schrieb:

    bitte nicht gleich beleidigt sein. 😉

    Ich bin sicher nicht beleidigt, weil du dir nicht helfen lässt.

    Elke100 schrieb:

    Ich finde deine Lösung nicht schlecht , aber es gibt eine einfachere
    Lösung.

    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



  • 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