Hallo eeprom unsigned int STARTYEAR = 2011; eeprom unsigned char STARTMONTH = 8; eeprom unsigned char STARTDAY = 1; eeprom unsigned int ENDYEAR = 2011; eeprom unsigned char ENDMONTH = 9; eeprom unsigned char ENDDAY = 3; Die beiden obigen Daten können verschiedene Werte haben. Wie kann ich nun am Einfachsten die Differenz zwischen beiden Daten berechnen? Ich steh irgendwie auf dem Schlauch bzw. würde in x if-if else -Schleifen enden. Gibt es ne bessere Lösung?
sven schrieb: > eeprom unsigned int STARTYEAR = 2011; > eeprom unsigned char STARTMONTH = 8; > eeprom unsigned char STARTDAY = 1; > > eeprom unsigned int ENDYEAR = 2011; > eeprom unsigned char ENDMONTH = 9; > eeprom unsigned char ENDDAY = 3; > > Die beiden obigen Daten können verschiedene Werte haben. Wie kann ich > nun am Einfachsten die Differenz zwischen beiden Daten berechnen? Beide Daten als Anzahl der Tage seit einem Stichtag ausdrücken und dann ganz einfach die Differenz zwischen den beiden. Wenn du gewährleisten kannst, dass du keine Daten vor 2011 hast, dann würde sich zb der 0. 1. 2011 als der Stichtag anbieten. Für jedes Jahr Differenz 365 Tage dazuzählen + jeweils einen Schalttag wenn notwendig. Für die Monate machst du dir eine Tabelle mit den Tagen im Monat (beim Februar aufpassen). Und bei den Tagen brauchst du nichts machen. Dann alle 3 Einzelergebnisse zusammenzählen und du hast die Tagesdifferenz zum Stichtag.
Hallo Sven, Wenn 7980 Jahre ab 4713 v. Chr. reicht Google mal Julianisches Datum. Stefan
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.