Datum Berechnungen mit Differenzen
-
Hallo,
vielleicht kann mir jemand aus der Community weiterhelfen.
Habe als Aufgabe fuer naechsten Freitag einen SourceCode bekommen, bei dem es es um die Berechnung einer Differenz aus 2 Datums ( Mehrzahl von Datum ?? )
geht.
Ich soll mir dazu eine Function ueberlegen:
Aufgabe:if vergleichDatum( “20-3-2004” , “3-6-2004”)
text "mehr wie 20 tage diff"
else
text "weniger wie 20 tage diff."mit diesen Eingabewerten soll ich nun Berechnung, ob 20 Tage different ist oder nicht.
Vielleicht hat jemand ein einfache Beispiel etc. wie man soetwas realisieren kann.
Der vergleichDatum - Funktion wir das Datum als char uebergeben:
int vergleichDatum( char *datum1, char *datum2)
Fuer jede Hilfe bin ich sehr sehr danbkbar im vorauss.
Gruesse
Steffi
-
ohne das zu testen in etwa in der art
beim übergeben müsstest du dann drauf achten das immer so in der art der string aussieht: 2 stellen tag 1 stelle trennzeichen 2stellen monat 1 stelle trennzeichen 4 stellen jahr (also z.b. "01.03.1987");//date1=>date2 return 1; > heisst es liegt näher an der Zukunft //date1<date2 return 0; int datecmp(const char* date1,const char* date2){ if(date1[6]*1000+date1[7]*100+date1[8]*10+date1[9]>date2[6]*1000+date2[7]*100+date2[8]*10+date[9]) return 1; else if(date1[6]*1000+date1[7]*100+date1[8]*10+date1[9]<date2[6]*1000+date2[7]*100+date2[8]*10+date[9])return 0; else{ if(date1[3]*10+date1[4]>date2[3]*10+date2[4]) return 1; else if(date1[3]*10+date1[4]<date2[3]*10+date2[4])return 0; else{ if(date1[0]*10+date1[1]>=date2[0]*10+date2[1]) return 1; else return 0; } } return 0; }
das vergleicht nur obs grösser oder kleiner ist.. wie mans mit 20 tage differenz macht solltest du dann hoffentlich selber hinbekommen
-
@windalf
Und wie hilft deine Funktion weiter?@hilfesuchende
Zu deiner ersten Frage: Es heißt nicht Datums (immer diese blöden englischen Einflüsse), sondern Daten (man glaubt es kaum).
Nun zu deinem eigentlichen Problem.
Schau dir mal folgendes in der time.h an (am besten in der Reihenfolge):struct tm
mktime()
difftime()Den Rest solltest du allein schaffen.