Hallo,
mit dem Erscheinen der ersten Heimcomputer kam bald der damalige Trend der "Einzeiler" auf. In fast jeder Monatszeitschrift gab es einen "Einzeiler des Monats". Man wollte (oft mit Sonderzeichen als Abkürzung für Computerbefehle) soviel Basic-Programm wie möglich in eine (begrenzte) Zeile packen. In dieser Zeit kam mir die Idee, es mal mit dem julianischen Datum zu versuchen.
Die Berechnung dieser Tageszählung umfasst einige Fälle, die ich mit Logik-Operatoren umgangen habe. So sind IF-Abfragen nicht mehr nötig, und die Variablen behalten für weitere Berechnungen ihre Werte.
j = int ( 365.25 * (y + (m<3) ) + int ( 30.6001 * (1 + (m - (m<3) * 12) ) ) + 1720981.5 + d + u/24
Die Formel basiert auf den Werten für true = -1 und false = 0. Es gibt Programmiersprachen, bei denen true = +1 ist. Dann müssen Plus- und Minuszeichen (rot) getauscht werden.
Hierin sind d, m, y der Tag, der Monat und das Jahr des betreffenden Zeitpunkts, u die Uhrzeit (UT). Der Einzeiler ist in dieser Form gültig vom 1. 3. 1900 bis zum 28. 2. 2100
Man erhält so für den 1. 1. 1985 1h MEZ ( = 0h UT) den Wert 2446066.5, für den 1. 4. 2001 13h MEZ (= 12h UT) den Wert 2452001.0
salü+cs, volker