Das nachfolgende Programm soll nicht nur bei kommerziellen Anwendern bei der Bereinigung ihrer bestehenden Software behilflich sein, sondern auch für Ihre Anwendungen und natürlich auch zu Ihrem eigenen Vergnügen, denn wollten Sie nicht auch schon Ihr Alter in Tagen wissen?
Das Demonstrationsprogramm berechnet zu Beginn den heutigen Wochentag aus und verlangt anschliessend zwei beliebige Daten. Von beiden wird die Differenz zu heute sowie untereinander bestimmt. Die Kalenderfunktion erzeugt eine Aufzählung aller Tage dazwischen.
Heute ist ein Samstag. Startdatum (tt,mm,jjjj)? 9,11,1971 Späteres Enddatum (tt,mm,jjjj)? 7,6,1975 Kalender? (j/n) n Der 9.11.1971 war ein 10476 Tage zurückliegender Dienstag. Der 7. 6.1975 war ein 9170 Tage zurückliegender Samstag. Dazwischen liegen 1306 Tage
Die Berechnungsroutinen arbeiten voll bidirektional, also wenn Sie
beispielsweise ein Verfalldatumsetikettendruckprogramm erstellen wollen,
wandeln Sie also zu Beginn das Produktionsdatum mit
AnzahlTageSeit&()
um, addieren die Anzahl Haltbarkeitstage hinzu
und wandeln das Ergebnis ErmittleKalenderDatum
wieder
rückwärts um, so dass Sie es mit LPRINT USING
formatiert
drucken können.
Der Algorithmus berechnet Ihnen korrekte Werte für Daten ab 15. Oktober 1582, also seit Beginn der Gregorianischen Kalenderreform, welche auch heute immer noch gilt und in der Zukunft ebenso, solange keine neue Kalenderreform auf uns zukommt. Bis dann sind vermutlich Sie und ich schon lange im Friedhof beerdigt :-). Ansonsten bieten Ihnen die verwendeten 32-Bit-Ganzzahlen für die nächsten 5,8 Millionen Jahre ebenfalls genügend Reserve. Das Programm berücksichtigt also voll und ganz sämtliche Schaltjahrregeln, so dass es bereits damals, als ich diesen Algorithmen geschrieben habe, den 29. Februar 2000 korrekt berechnet hat.
Bitte beachten: Geben Sie das Jahr immer vierstellig an, da der 9.11.71 als 71 nach Geburt Christi interpretiert werden würde!
Siehe allgemeiner Artikel über die Jahr-2000-Tauglichkeit von Microsoft BASIC.
Los her damit! Ich will das Ding!
Umfang: 2,6 KB Bitte dann noch von Hand File und Save anwählen!