Zeitdifferenz rechnen??????



  • hi,
    ich habe ein Array, welches ein Datum beinhaltet.Ich will diesen Inhalt mit dem heutigen Datum vergleichen und die Differenz dazwischen ausgeben lassen?
    Mein Array sieht so aus:

    ...
    char array_vorhanden [9] = {11-01-05};
    ...
    

    Finde ich hier jemanden der mir helfen kann?? 🙄 🙄 🙄

    Danke schön im voraus



  • sscanf() dürfte dein Freund sein.



  • ...
    char array_vorhanden [9] = {11-01-05};
    ...
    

    Erzeugt einen char-array dessen erstes Element 5 ist. Da würde ich mal als erstes ansetzen 😉



  • Hallo,

    char date1[] = { '2', '0', '0', '5', '-', '1', '2', '-', '0', '6' };
    char date2[] = { "2005-12-06" };
    

    - im oberen Ausdruck werden 10 einzelne Elemente initialisiert.
    - im unteren Ausdruck wird eine Zeichenkette initialisiert und automatisch
    mit einem Null-Zeichen abgeschlossen, also 11 Elemente.

    MFG



  • hi,
    das ist eine Zeichenkette.

    ...
    char array_vorhanden [9] = {"11-01-05"};
    ...
    


  • Dann kannst du ja eine Marschroute nehmen:

    Schritt 1: Ermitteln des aktuellen Datums:
    dafür bieten sich die Funktionen der <time.h> an (time()).

    Schritt 2: Umwandeln des Strings in Datum:
    die "einfachste" Lösung dürfte sscanf sein (allerdings mußt du das verwendete Format kennen, sonst wird etwas falsch zugeordnet).

    Schritt 3: Differenzbestimmung:
    mit mktime() kannst du das Ergebnis aus (2) umwandeln und anschließend mit difftime() die Differenz (in Sekunden) berechnen - bei Bedarf lässt sich das noch in Stunden/Tage/Jahre umrechnen.



  • Hallo,

    Du mußt bei einer Array-Initialisierung nicht zwingend die Dimension angeben:

    char array_vorhanden[] = { "2005-12-06" };
    char array_vorhanden[11] = {"2005-12-06" };
    

    Die vorstehenden Ausdrücke sind identisch, lasse eine Schleife darüberlaufen
    und die einzelnen Elemente ausgeben, Du wirst es sehen.

    MFG


Anmelden zum Antworten