hi,
Dieses Weiterrechnen um einen Tag ist aber ein "wohldefiniertes Verhalten", auf das ich reagieren kann. Ich weiß also, ich muss also nur die "ersten Märze" prüfen, ob sie nicht vielleicht "29. Februare" sein sollen.
Programiertechnich keine Frage ;)
Eine 'Tagesformel' like jd = jd(d,m,y) rechnet stur und prüft nicht, einer solchen Formel kannst Du Datum-Angaben wie d(76), m(25), y(13) übergeben und bekommst einen fortlaufenden Tag.
Die Prüfung, ob das übergebene Datum gültig ist? Ganz einfach, rechne zurück! Dazu brauchst Du eine Formel like (d,m,y) = dmy(jd), im Ergebnis dessen müssen für ein gültiges Datum d', m' und y' gleich d, m, y sein.
Sofern die von mir genannten fiktiven Funktionen jd() und dmy() die Schaltjahresregelung berücksichtigen, vereinfacht das auch die Prüfung auf ein Schaltjahr: Ein solches liegt vor, wenn jd(29,2,y) und jd(1,3,y) unterschiedliche Ergebnisse liefern. Und schließlich haben jd() sowie dmy() eine Epoche, in der sie gültig sind, so ergibt modulo jd den Wochentag.
So einfach kann das Rechnen mit dem Datum sein ;)
Hotti