Datums Differenz



  • Hallo,
    ich programmiere gerade hobbymäßig(als c++ anfänger) an einem kleinen programm.
    in diesem Programm speichere ich daten in einer .txt datei
    ausschnitt:

    5.1 Test5.2 test5.3 15.4 18.06.2010 - 22:28:12
    6.1 Banane6.2 banana6.3 16.4 18.06.2010 - 22:28:24
    

    Das Datum ermittele ich mit:

    void gettime()
    {
    time_t now = time(0);
    strftime(timestamp, 22, "%d.%m.%Y - %H:%M:%S", localtime(&now));
    }
    

    ich möchte überprüfen, ob "18.06.2010 - 22:28:24" mehr als 3 tage her ist

    ich bin bei meiner google suche auf http://www.cplusplus.com/reference/clibrary/ctime/difftime/ gestoßen ... doch irgendwie will mir das nicht gelingen
    wäre super wenn mir jmd weiter helfen könnte
    (ich arbeite mit "bloodshed dev c++" in der winapi, falls das von interesse ist)

    MfG Lukas



  • Hy

    Gebe bitte etwas mehr Code an was du denn schon aktuelle Probiert hast und was dabei nicht geht, so kann man leider nur ins Blaue hinaus raten.

    Aber mal überhaupt zur Überlegung. Für difftime benötigst du 2 Objekte vom Typ time_t. Was bedeutet du musst deinen Zeitwert der in der Datei steht erstmal auslesen und in eine time_t-Struktur packen lassen. Dazu könnte dir diese Funktion noch helfen http://www.cplusplus.com/reference/clibrary/ctime/mktime/, die gibt dir ein time_t zurück.
    Dann könntest du über diesen Wert und dem aktuellen Wert mit difftime deine Differenz ermitteln.

    [OT]Bloodshed wird schon seit längerer Zeit nicht mehr weiterentwickelt, ich würde dir zB zur aktuellen Version von CodeBlocks raten, aber das ist nur geschmackssache, kannst auch die Express Edition vom VS2010 nehmen ;-)[/OT]

    Mfg marco



  • ich habe versucht 18.06.2010 - 22:28:12 in eine sekundenzahl umzuwandeln ... das ist mir nicht gelungen, weil ich jetzt aber nicht so viel zeit mit diesem problem verschwenden wollte habe ich einfach gleich die sekunden gespeichert, dann kann ich mir das rückumwandeln sparen . sieht nur nicht schön aus 😃
    MfG Lukas

    -gelöst(problem aus dem weg gegangen)-


Log in to reply