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