Der in Deutschland, wie auch in den meisten Ländern der Welt(?) verwendete Kalender ist der Gregorianische Kalender. Er wurde erstmals mit dem 15. Oktober 1582 in Italien, Spanien, Portugal und Polen /5, S. 199/ und in Deutschland mit dem 1. März 1700. Er löste den Julianischen Kalender ab, der seit dem Jahr 45 v. u. Z. gültig war und die bis dahin chaotischen Zustände bei der Zählung der Tage beseitigen sollte. Im Julianischen Kalender wurde das Jahr mit 365 ¼ Tagen festgelegt. Es ergab sich aber auch hier eine Verschiebung, da die Länge des tropischen Jahres exakt 365,2422 Tage beträgt. Um die daraus entstandenen Unkorrektheiten zu beseitigen, wurde der Gregorianische Kalender eingeführt, der heute allgemein bekannte Kalender.
[Bei der Wochentagsberechnung sind folgende Besonderheiten zu beachten:
Dem Autor standen damals nur begrenzte Quellen zur Verfügung. Ein darunter befindlicher Programmalgorythmus wies ab einem bestimmten Datum einen Fehler auf. Der Autor erstellte selbst eine Formel. Grundgedanke: Zuordnung von Zahlen zu den Wochentagen: 1 = Montag, 2 = Dienstag, usw.
Regelmäßigkeit: Aller vierhundert Jahre wiederholt sich der Rythmus des Wochentagszyklus.]
1.1.1500 = Montag = 1 1.1.1600 = Samstag = 6 1.1.1700 = Freitag = 5 1.1.1800 = Mittwoch = 3 1.1.1900 = Montag = 1 |
[Daraus konnte der Anfangswochentag des Jahrhunderts AJH berechnet werden.]
AJH = 7 - 2 * (JH MOD 4)
(1)Um das Schaltjahr SJS zu ermitteln, wurden die oben genannten Bedingungen in eine Formel gebracht. [Durch die Umstände der Entstehung { eine erste Umsetzung erfolgte auf Computer mit 8 Bit Verarbeitungsbreite (BC A 5120 / PC 1715) unter dem Betriebssystem SCPX 1526 (entspr. CP/M) mit einem BASIC Interpreter BASI 1520 (entspr. BASIC 80)} wurden verschiedene Funktionen aus unterschiedlichen BASIC-Dialekten verwendet, die nicht Bestandteil mehrerer Programmiersprachen sind. Siehe z. B. MOD und DIV. Außerdem zählt dazu die Funktion Sgn (Sign).] Sie liefert als Wert:
SGN (x) = | - 1 | für | x < 0 |
0 | für | x = 0 | |
+ 1 | für | x > 0 |
Die Formel liefert den Wert 1, wenn das jeweilige Jahr ein Schaltjahr ist, und den Wert 0, wenn das Jahr kein Schaltjahr ist. Somit ergibt sich das Schaltjahr SJS aus:
SJS = SGN(JG MOD 100) - SGN(JJ MOD 4) + 1 - SGN(JG MOD 400)
(2)Damit ergibt sich aus dem Jahr JJ, dem Kennzeichen für Schaltjahr SJS und dem Anfangswochentag des Jahrhunderts AJH der Wochentag des 1. Januar des Jahres, WWT, wie folgt:
WWT = (JJ + AJH + JJ\4 + 6 - SJS) MOD 7 + 1
(3)Nun steht der Wochentag des 1. Januar des Jahres für die Ermittlung des Wochentages eines beliebigen Datums des Jahres zur Verfügung.
Es mußte noch eine Formel gefunden werden, mit der die Anzahl der Tage des jeweiligen Monats ermittelt werden kann. Sie wurde gefunden mit
ME = 30+(M + M\8) MOD 2-(1-ABS(SGN(M-2))) * (2-SJS)
(4).Dabei stellt 30 den Ausgangspunkt dar. Die Teilformel (M + M\8) MOD 2 realisiert, daß bis einschließlich Juli (7.) jeder ungerade Monat einen Tag mehr erhält und ab August (8.) jeder gerade Monat. für den Februar würden bis jetzt 30 Tage berechnet. Durch den Rest der Formel wird er auf 28 bzw. 29 Tage reduziert. [Der Teil "(2-SJS)" nimmt auf das Schaltjahr Rücksicht, also 30 - 2 oder - 1. Der Teil "(1-ABS(SGN(M-2)))" läßt eine Subtraktion nur zu, wenn der Monat 2 ist. Sonst kommt als Ergebnis 0 heraus. Und 0 mal etwas ist immer ... Eben!]
Um einen beliebigen Wochentag im Jahr zu ermitteln, ist noch ein Korrekturwert MT für jeden Monat nötig, da jeder Monat mit einem anderen Wochentag beginnt. Für Januar wäre dieser Wert = 0, da der erste Wochentag des Januar gleich dem ersten Wochentag des Jahres ist. Beim Februar müßte man dann die Anzahl der Tage im Januar weiterzählen, beim März die Tage von Januar und Februar usw. [Um das ganze abzukürzen, es wurde eine Formel für einen Korrekturwert gefunden, der die Anforderungen erfüllt.]
MT = (M-2)*2 + (M+M\9)\2 - 2*(M<3) - SJS*(M>2)
(5)Dabei sind die letzten beiden Klammerausdrücke Vergleichsoperatoren, die bei wahr den Wert - 1 und sonst Null liefern. Mit den bis jetzt ermittelten Größen kann nun der Wochentag bestimmt werden:
WT = (WWT + MT + T + 5) MOD 7 + 1
(6)Die Formeln (1) bis (6) können [...] zweifelsfrei den Wochentag eines beliebigen Datums [innerhalb der Zählung des Gregorianischen Kalenders berechnen], vorausgesetzt dieses Datum existiert (z. B. 29.2., 32.3. usw.). Das kann aber mit einigen dieser Formeln überprüft und die Eingabe zurückgewiesen werden.
Dazu wurde in der Literatur eine Formel zur Berechnung von Ostern gefunden /4, S. 86/. Da diese Formeln den Ostersonntag des jeweiligen Jahres berechnen, war zur Berechnung des Karfreitag noch eine geringe Korrektur nötig. Für die Berechnung mit den Formeln sind noch ein paar Konstanten (D, MB, K) in Abhängigkeit vom Jahrhundert nötig.
JH | D | MB | K |
---|---|---|---|
15 | 10 | 202 | 1 |
16 | 10 | 202 | 1 |
17 | 11 | 203 | 0 |
18 | 12 | 203 | 0 |
19 | 13 | 204 | 1 |
20 | 13 | 204 | 1 |
21 | 14 | 204 | 1 |
22 | 15 | 205 | 1 |
23 | 16 | 206 | 0 |
Die Formeln sind folgende:
Q = JG \ 4
(7)
A = JG MOD 19
(8)
B = (MB - 11 * A) MOD 30
(9)
B = B - 1 * ((B < 28) + 1)
(10)
C = (JG + Q + B - D) MOD 7
(11)
T = (26 + B - C) MOD 31
(12)
MO = 3 + (26 + B -C) \ 31
(13)
Dabei stellen T den Tag und MO den Monat des Karfreitag dar. Der zweite bewegliche Feiertag, der einen gesetzlichen Feiertag darstellt, ist der Pfingstmontag. Dieser liegt genau 52 Tage nach dem Karfreitag.
Es wird der Pfingstmontag ermittelt durch:
TPF = T + 52 - 31 + MO - 3
(14)
TP = (TPF - 1) MOD (30 + MO - 3) + 1
(15)
MP = 5 + (MO -3) * ((T + 21) \ 31)
(16)
Hierbei ist TP der Tag und MP der Monat des Pfingstmontag. Die anderen gesetzlichen Feiertage (1.1., 1.5., 7.10., 25.12., 26.12.) sind unbewegliche Feiertage und wurden für den Vergleich als Festwerte in das Programm übernommen.
Nach der Wende sind natürlich noch ein paar mehr Feiertage dazu gekommen. Es sollte nicht besonders schwierig sein, die restlichen mit einzubinden. Es existiert ein Unit mit Pascal-Routinen. Hier gibt es ein kleines Programm zum Testen: DATU.ZIP (40803 Byte)
Jörg-Dieter Häußer schreibt:
Sehr geehrter Herr Hofmann,
falls Sie sich nicht nur mit Kalender-Berechnungen beschäftigt haben,
können Sie vielleicht einem unserer Leser helfen. Er fragt:
"In Deutschland sind seit vielen Jahren Oster- und Pfingstmontag und der
26.12. gesetzliche Feiertage. Warum und seit wann? Hängt dies mit der
Sozialgesetzgebung von 1881 zusammen?"
Antwort:
Es gab früher zu den zwei genannten Feiertagen je eine
Feierwoche, also zu Ostern und Pfingsten. Vorläufig
konnte das Schrumpfen auf den Montag eingegrenzt
werden auf die Zeit um das Jahr 1820. Ich beziehe mich
jetzt auf Bayern. Zu dieser Zeit gab es
- soweit ich herausgefunden habe - ein
Bayerisches Königreich von Napoleons Gnaden. Damals
war ein gewisser Graf Montgelas soetwas wie
unser heutiger Kultusminister. Unter seiner
Federführung wurden die beiden Feierwochen auf
die jeweiligen Montage gekürzt. Wahrscheinlicher
Stichtag ist der 26. Mai 1818, an dem
"der Reichsherold unter Kanonendoner und Glockengeläut
durch die Haupt- und Residenzstadt begleitet von
zwölf ausgewählten Bürgern reitet .."
um den Text der eben erlassenen Verfassung unters
Volk zu verteilen.
"Einen Tag später, an seinem 62. Geburtstag, schwört
der König zusamen mit dem Kronprinzen und den Räten auf
diese konstitutionelle Verfassung."
/97, S. 297/
Rasim Gecgel schreibt:
Wie kann man rechnerisch die Kalenderwoche ermitteln
wenn Jahr,Monat,Tag vorgegeben sind.
Antwort:
In Deutschland gilt laut DIN Norm
Woche 1 ist die erste 4 Tage Woche
Die Formel ist:
Woche = GANZZAHL( (((WWT+2)/7 - GANZZAHL((WWT+2)/7))*7 +3+Tag) /7 )
(17)
Woche = GANZZAHL( ( REST((WWT+2);7) +3+Tag ) /7 )
(17a)
Diese Formel kannst Du in Excel so einfügen und nachprüfen. Du mußt nur eine Zelle mit dem Namen "WWT" und eine mit "Tag" belegen und die richtigen Werte eintragen. [Ergänzung 12.10.2000: Als Soforttest kannst du auch diese Excel Datei kaltest3.xls herunterladen]
Die gekürzte Formel lautet:
Woche = GANZZAHL( ( ((WWT+2) MOD 7) +3+Tag ) /7 )
(17b)Dabei ist WWT (3) der Wochentag des 1.1. - also dieses Jahr (2000) 6 (=Samstag).
Alt:
Du mußt den Tag selbst ausrechnen. Es ist der fortlaufende Tag im Jahr.
Wenn Du ein Datum im Januar hast, dann ist der Tag gleich dem Tag
im Monat. Hast Du ein Datum im Februar, dann kommen
für den Januar 31 Tage dazu, also für den 1.2.
Tag = 31+1 = 32
Wenn Du ein Datum im März hast, dann kommen die Tage von
Januar und Februar dazu. Die Tage im Monat errechne bitte mit Formel
(4) - also ME.
Neu: (21.03.2003, Dank an Torsten Schlabach, TSchlabach at gmx.net)
zu Tag siehe die Formel (21)
bei lfd. Tag im Jahr
Wenn Du für die Woche "0" herausbekommst, mußt Du die geltende Woche mit dem 31.12. des Vorjahres ausrechnen.
Die Woche fängt mit Montag an. Das ist so geregelt in der Europäischen Norm (EN) 28601: Informationsaustausch (Deskriptoren: Datenaustausch, Datendarstellung, Kalenderdatum, Jahr, Tag, Stunde)
3.17 Kalenderwoche
Eine sieben Tage lange Zeitspanne innerhalb eines Kalenderjahres,
die an einem MONTAG beginnt und durch ihre laufende Nummer
innerhalb des Jahres identifiziert wird ...
Danke an Frau Martina Bäumler von de PTB für ihre Antwort vom 25.03.2003.
Carsten Diehl-Doeffert schreibt:
Sehr geehrter Herr Hofmann,
wir sind auf der Suche nach einer Berechnung für den Beginn und das Ende der
Sommerzeit in Deutschland. Sofern Sie eine solche Berechnung kennen oder
einen Literaturtip haben, wären wir um eine Mitteilung dankbar.
Mit Hilfe von Herrn Bernd Fischer von der Physikalisch- Technischen Bundesanstalt (PTB), Fachlaboratorium 4.32, Zeiteinheit konnte ich folgende Antwort weiterleiten:
Im Zeitgesetz (nur mit ausgeschaltetem Javascript) von 1978 wird die Bundesregierung ermaechtigt, in der Zeit vom 01.03. bis zum 31.10. eines jeden Jahres die Sommerzeit einzufuehren. (siehe auch PTB) Dabei richtet sie sich, wie alle EU-Staaten, nach einer verbindlichen EU-Richtlinie, die vom Europaeischen Parlament im Abstand von 3 bis 4 Jahren verabschiedet wird.
Ob es eine Sommerzeit gibt oder nicht, ist also eine politische Entscheidung, die keiner Rechenvorschift folgt!
Bastian Schnorbus schreibt:
Hallo,
ich habe Ihre Kalenderseite gefunden und freue mich, dass es mal eine mehr
oder weniger vollstaendige Seite mit Formeln gibt.
Die Sache hat nur einen Haken:
In sehr vielen Formeln wird der Anfangstag des Jhdts benutzt. Und genau
diese Formel zur Berechnung des AJTH funktioniert nicht.
1600 und 2000 war der erste Tag ein Samstag. Mit der Formel erhaelt man
einen SOnntag. 2100 funktioniert auch nicht....
Antwort:
vielen Dank für deine Zuschrift. Das [...stimmt so nicht],
bzw. wird nicht näher von mir erläutert. AJH ist nur
ein Zwischenwert. Um den genauen 1.1. des Jahres zu erhalten,
muß man auf jeden Fall WWT errechnen; der gibt dann
auch den richtigen Wert zurück. Probier es mal aus.
Das hängt zum Teil damit zusammen, weil 1600 und 2000
Schaltjahre sind. Anbei der Screenshot eines eben
gelaufenen Pascal-Programmes, welches meine Routinen dazu nutzt.
___________________________________________________ Jahr (JJJJ): 1600 ajh:7 sjs:1 wwt:6 Jahr (JJJJ): 2000 ajh:7 sjs:1 wwt:6 Jahr (JJJJ): 2100 ajh:5 sjs:0 wwt:5 Jahr (JJJJ): ___________________________________________________
das Programm:
___________________________________________________ program kaltest; uses kalender; var jg,ajh,sjs,wwt: integer; begin while true do begin write ('Jahr (JJJJ): '); readln (jg); JahresWerte(jg,ajh,sjs,wwt); writeln (' ajh:',ajh,' sjs:',sjs,' wwt:',wwt); end; end. ___________________________________________________
Es findet sich ein Testprogramm hier http://th-o.de/datu.zip
Markus Eurich schreibt:
Hallo,
Hat mir sehr gefallen die Ausführung der Wochentagsberechnung.
Nur kapiere ich nicht, warum man bei all diesen Formeln den
Ausdruck für ME braucht??? Er wird nicht weiter verwendet!!!
Antwort:
Das ist richtig. Nur kann man sich ja leicht Situationen
vorstellen, wo auf die Anzahl der Tage eines Monats geprüft
werden muß, z.B. bei der Prüfung einer Eingabe. Aber
siehe weiter unten.
AJH = 7 - 2 * (JH MOD 4) (1)
SJS = SGN(JG MOD 100) - SGN(JJ MOD 4) + 1 - SGN(JG MOD 400) (2)
WWT = (JJ + AJH + JJ\4 + 6 - SJS) MOD 7 + 1 (3)
ME = 30+(M + M\8) MOD 2-(1-ABS(SGN(M-2))) * (2-SJS) (4) << Wozu???
MT = (M-2)*2 + (M+M\9)\2 - 2*(M<3) - SJS*(M>2) (5)
WT = (WWT + MT + T + 5) MOD 7 + 1 (6)
Fehlt vielleicht in einer anderen Formel irgend etwas? Wäre dankbar,
wenn sie mir einen Tip geben würden.
Am Anfang war mir klar, daß ich für die Berechnung des Wochentages eines Tages innerhalb eines Jahres die Tage bis zum entsprechenden Monat brauche, und da war die Summe der Tage bis zu diesem Monat erforderlich. Nun müßte man dann in einer Schleife sinngemäß rechnen:
TageBisMonat = 0 für alle Monate = 1 bis (Monat-1) TageBisMonat = TageBisMonat + ME(Monate)
Hier wäre also die erste Anwendung dieser Formel. Aber ich
fand weder die Schleife elegant noch die Möglichkeit
der Festlegung der Tage im Monat mit 13 IF Anweisungen
oder 3 CASE Anweisungen verknüpft mit 1 IF Anweisung für
Schaltjahr. Deshalb meine Anstrengungen für Formeln.
Dann kam ich dahinter, daß ich für die Berechnung eigentlich
nur einen Korrekturwert brauchte, da die Zahl sowieso
am Ende modulo 7 genommen werden muß. Dieser Korrekturwert
wird jetzt mit MT berechnet. Ich hab die Formel für ME
dringelassen, da ich doch Anwendungsfälle
für diesen Wert sehe. Allerdings hab ich mal in meinem
Testprogramm nachgeschaut, da brauche ich ihn auch nur 2 mal.
Bei Interesse Quelltext.
Walter Irion schreibt:
Hallo Thomas,
bei der Durchsicht der Erläuterungen zur Kalenderrechnung auf
deiner Website ist mir aufgefallen, dass du für die Berechnung
des Osterdatums auf tabellarische Daten zurückgreifst.
Die nachfolgend (in Form einer Pascal-Funktion für Delphi)
beschriebene Berechnungsmethode kommt ohne tabellarische
Fallunterscheidungen aus und gilt (im Gegensatz zur Gausschen
Osterberechnung) ohne Ausnahmen für alle Jahre des Gregorianischen
Kalenders (d.h. ab dem Jahr 1583).
Ich habe sie dem Buch "Astronomical Formulae for Calculators" des
Belgiers Jean Meeus (erschienen 1982 im Willmann-Bell-Verlag,
Richmond, Virginia) entnommen. Nach den Angaben dort soll sie im
Jahr 1876 entstanden und in Butcher's "Ecclesiastical Calendar"
veröffentlicht worden sein.
function EasterDate(Year: Integer): TDate; var a, b, c, d, e, f, g, h, i, k, l, m, n, p: Integer; begin a := Year mod 19; b := Year div 100; c := Year mod 100; d := b div 4; e := b mod 4; f := (b + 8) div 25; g := (b - f + 1) div 3; h := (19 * a + b - d - g + 15) mod 30; i := c div 4; k := c mod 4; l := (32 + 2 * e + 2 * i - h - k) mod 7; m := (a + 11 * h + 22 * l) div 451; n := (h + l - 7 * m + 114) div 31; p := (h + l - 7 * m + 114) mod 31; { Jetzt enthält n die Monatsnummer (also 3 = März bzw. 4 = April), und (p + 1) gibt den Tag an, auf den in diesem Monat das Osterdatum fällt. } Result := EncodeDate(Year, n, p + 1); end;
Vielen Dank für die ausführlichen Erklärungen auf deiner Website!
Da kann ich nur sagen: Danke Walter! ;-)
Stephan Schobel schreibt:
Hallo Thomas,
Zur Sommerzeit hab ich was anzumerken.
Wie Carsten war ich auf der Suche nach der Berechnung der Sommerzeit
(die es zweifelsohne gibt. Wie sonst sollte dies Windows von
sich aus richtig machen). Da hat mir der Link zur PTB geholfen (Danke!), wo steht
(http://www.ptb.de/deutsch/org/4/43/432/dars.htm):
"Die Sommerzeit beginnt also am letzten Sonntag des Monats
März und endet am letzten Sonntag des Monats Oktober."
Auf
http://www.ptb.de/deutsch/org/4/43/432/somn.htm
findet sich weiterhin:
"Zum Zeitpunkt des Beginns der Sommerzeit wird die
Stundenzählung um eine Stunde von 2 Uhr auf 3 Uhr vorgestellt. Zum Zeitpunkt des
Endes der Sommerzeit wird die Stundenzählung um eine Stunde von 3 Uhr auf 2 Uhr
zurückgestellt."
Es ist richtig, dass die ganze Sache ein Gesetz regelt. Das heisst
aber nicht, dass es dann keine Formel gibt.
Vielleicht willst du ja diese sehr kurze "Formel" auch noch auf
deine Seite bringen.
Eine schöne Sommerzeit,
Stephan
-- Stephan Schobel - Im Grund 66 - D-89079 Ulm - Germany Phone +49.731.9402694 - ICQ tarsus #5064603 - http://www.tarsus.de
Hallo Stephan,
hier mal eine "Schnellschußlösung". Man berechne einfach WT für
den 31.03. des Jahres. Z.B. 31.03.2001: WT = 6 (benutze
Excel-Tabelle für schnelle Prüfung)
Dann lautet die Formel bei Einsatz des berechneten WT für den Tag der
Umstellung zur MESZ (Monat ist der März):
= 25.
Dito für Ende: WT für den 31.10. des Jahres. Z.B. 31.10.2001: WT = 3; Formel bei Einsatz des berechneten WT für den Tag der Umstellung zur MEZ (Monat ist der Oktober) wie oben, = 28.
Danke und Gruß, Thomas
Rolf Moeller schreibt:
hallo, herr hofmann
bin dabei, einen kalender für die kommenden (2-3) jahre zu entwerfen.
der soll die bundesweiten feiertage tragen.
da die nun ländersache sind: kennen Sie die adressen/email-adressen der
zuständigen länder-ministerien, -sachbearbeiter, -quellen, um an
verbindliche daten zu kommen?
danke im voraus
und mit freundlichem gruß
-- ............................................................ rolf moeller design works http://www.designworks-3D.de wupperstrasse 9 D 44225 dortmund
Hallo Herr Möller,
Nein, so aufbereitet hab ich das nicht. Aber bei der Bundesregierung
http://www.bundesregierung.de
unter Service--Linkliste--Inland
finden Sie die Regierungen der Länder und da evtl. nachfragen bei
Staatskanzlei o. Innenministerium. Denkbar wäre auch das BMI
Bundesministerium des Innern
http://www.bmi.bund.de/
Adresse / Telefonnummer
Ich habe herausgefunden als zuständigen Kontakt dort:
Referat V1, Frau Bruhn, Telefon: (01888) 681-2353
Es gibt auch eine
Seite im Internet
dazu und da wird verlinkt auf:
- Übersicht der gesetzlichen Feiertage in Deutschland (14 KB)
- Feiertage in der Bundesrepublik Deutschland (Anlage zur Übersicht) (17 KB)
beste Grüße, Thomas Hofmann
Lt. Cmdr. F l a n o r schreibt:
Wie wird die Sternzeit berechnet?
Hinweise dazu auf den Seiten:
Es heißt unter anderem:
Jedoch sind 1000 Sternzeit ein Jahr. Dadurch gibt es
immer wieder "Löcher" in der Sternzeit. Allerdings kann man bei dieser
Methode an der Sternzeit die Uhrzeit auslesen.
Wir gehen davon aus, dass die Sternzeit am 1. Januar 2323
um 0:00 eingeführt wurde, was daher der Sternzeit 0.00 entspricht. Der
1. Januar 2324 ist Sternzeit 1000.00. Die Tage dazwischen werden aus:
Tag_des_Jahres / Tage_im_Jahre * 1000
(19)errechnet. Somit gibt es eine fortlaufende Nummer.
Jedoch ist bei dieser Berechnung ein Tag 2,73972603 Sternzeiten lang.
Bei Schaltjahren sind es nur 2,73224044 Sternzeiten.
danke und beste Grüße, Thomas Hofmann
Heiner Lichtenberg schreibt am 03.12.01:
Guten Tag, Herr Hofmann! Durch Zufall sah ich heute Ihre Web-Seite zur Kalenderrechnung. Kennen Sie die Osterformel, die von der Physikalisch-Technischen Bundesanstalt im WWW präsentiert wird? Einen Link dorthin haben Sie ja gesetzt.
http://www.ptb.de/de/org/4/43/432/oste.htm (Kopie)
[21.12.2004] Das PTB scheint ihre Struktur öfter zu ändern, als das normalerweise
der Fall sein sollte. Dadurch wandern verstärkt hier verlinkte Inhalte.
Auch hier wird die Regel verletzt, die bereits die Gremien aufgestellt
haben, die heute für die Standards im Internet verantwortlich zeichnen:
W3C: Cool URIs don't change!
die neue Adresse (hoffentlich hält die länger) ist hier:
http://www.ptb.de/de/org/4/44/441/oste.htm
Die Formel geht auf eine Arbeit von mir zurück, die vor einiger Zeit in einem mathematikhistorischen Journal der USA erschienen ist (Historia Mathematica 24 (1997), S. 441-444). Ich habe seinerzeit die Gaußsche Osterformel sozusagen aufpoliert, d.h. von ihren Ausnahmen befreit und den Zwischengrößen eine anschauliche Interpretation gegeben. So kann man aus der Zwischenrechnung das Datum des Ostervollmondes (des 14. Tags im ersten Mondmonats mit dem babylonischen Namen Nisannu) sowie des 1. Sonntages im März entnehmen. Zu meiner Person: Ich bin ein gelernter Mathematiker und als solcher im Referat "Informationstechnik in der Haushaltsabteilung" des Bundesministeriums der Finanzen tätig. Mit freundlichen Grüßen H. Lichtenberg
.. und später ..
Vor kurzem machte mich Professor Denis Roegel vom Laboratoire lorrain de recherche en informatique et ses applications in Nancy (LORIA) darauf aufmerksam, daß man die Größe R (wie Reficiens = lat. die verbessernde [Größe])
R = INT(D/29) + (INT(D/28) - INT(D/29))*INT(A/11)
(20a)eleganter schreiben kann [..] Die (erneute) Betrachtung der Korrekturgröße R zeigte mir, daß der einfachere Ausdruck
R = INT((D + A/11)/29)
(20)schon alles Nötige bewirkt. Mit INT(a/b) [..] sei diejenige Funktion bezeichnet, die dem Quotienten a/b die größte in ihm enthaltene ganze Zahl zuordnet. Beispiele: INT(-1/2) = -1, INT(1/2) = 0, INT(3/2) = 1.
Der Vollständigkeit halber noch die Formeln der Gaußschen Osterformel laut
PTB
[21.12.2004] Das PTB scheint ihre Struktur öfter zu ändern, als das normalerweise
der Fall sein sollte. Dadurch wandern verstärkt hier verlinkte Inhalte.
Auch hier wird die Regel verletzt, die bereits die Gremien aufgestellt
haben, die heute für die Standards im Internet verantwortlich zeichnen:
W3C: Cool URIs don't change!
die neue Adresse (hoffentlich hält die länger) ist hier:
http://www.ptb.de/de/org/4/44/441/oste.htm
K = INT( X / 100 )
(Ostern.1)
M = 15 + INT(( 3·K+3 ) / 4 ) - INT(( 8·K+13 ) / 25 )
(Ostern.2)
S = 2 - INT(( 3·K+3 ) / 4
(Ostern.3)
A = MOD( X, 19 )
(Ostern.4)
D = MOD( 19·A+M, 30 )
(Ostern.5)
R = INT( D / 29 ) + ( INT( D / 28 ) - INT( D / 29 )) · INT( A / 11 )
(Ostern.6)
OG = 21 + D - R
(Ostern.7)
SZ = 7 - MOD( X + INT( X / 4 ) + S, 7 )
(Ostern.8)
OE = 7 - MOD( OG - SZ, 7 )
(Ostern.9)
Dann ist OS = OG + OE das Datum des Ostersonntags, als Datum im Monat März dargestellt. Der 32. März entspricht dem 1. April usw.
Liegt der Ostertermin (Os) erst einmal fest, so berechnen sich daraus weitere besondere Kalenderdaten, und zwar
Os - 46: Aschermittwoch,
(Aschermittwoch)Os + 39: Christi Himmelfahrt,
(Himmelfahrt)Os + 49: Pfingstsonntag,
(Pfingstsonntag)Os + 60: Fronleichnam
(Fronleichnam)Das Deutsche Zentrum für Luft- und Raumfahrt brachte neulich eine Notiz von Dr. Lichtenberg ins Internet.
danke und beste Grüße, Thomas Hofmann
Mike Prangenberg schreibt am 27.07.02:
Sehr geehrter Herr Hofmann, ich habe eine Frage: Gibt es eine fertige Formel um aus dem Tagesdatum den Jahrestag zu berechnen? d.h.: der 1.1. ist 1, der 2.1. ist 2 usw. Vielen Dank für Ihre Antwort im Voraus M.Prangenberg
Hallo Herr Prangenberg,
in meiner Abhandlung schlage ich eine Schleife vor.
(siehe Kalenderwoche http://th-o.de/kalender.htm#n4 )
Aber ich sehe ein, daß das Problem doch ab und zu vorkommt.
Deshalb hier mal eine Lösung. (in Excel so getestet). [TagImJahr]
= 30 * (M-1) + GANZZAHL( (M + GANZZAHL(M/8)) /2) - (2-SJS) * (M>2) + T
(21)
Dazu ist zu sagen, daß M der Monat des Datums ist und
T der Tag. Die Vergleichsausdrücke in der Formel
funktionieren anders als oben gesagt. Excel liefert
bei wahr 1 und bei falsch 0. Oben wird immer von
wahr = -1 ausgegangen. Dann müßte es heißen:
+ (2-SJS) * (M>2)
da ja - (-x) wieder + ergibt.
viele Grüße, TH
die Excel Datei kaltest3.xls wurde ergänzt.
Die allgemeine Formel lautet also:
TagImJahr = 30 * (M-1) + (M + (M DIV 8)) DIV 2 - (2-SJS) * (M>2) + T
(21a)
bzw.
TagImJahr = 30 * (M-1) + INT((M + INT(M/8)) /2) - (2-SJS) * (M>2) + T
(21b)
Bernd Ratfisch schreibt am 14.11.02:
Hallo Thomas, ich bin auf deine Homepage geraten, als ich bei Google nach "Star Trek Sternzeit" gesucht habe. Und ich habe die Theorie auf der bei dir unter "Sternzeit" verlinkten Seite http://sternzeit.stmld.de mal unter die Lupe genommen. 1000 Sternzeit = 1 Jahr ist die Grundlage deren Ausführung, also haben sie eine Sternzeit kreiert, deren Größe unterschiedlich ist, je nachdem, ob auf der Erde ein Schaltjahr ist oder nicht. Ich habe mir auch das kleine Java-Programm einmal angesehen, was dort quasi zum Download angeboten wird. Es ist fehlerhaft. Es errechnet Schaltjahre nämlich nur nach dem Julianischen Kalender, ignoriert also die Jahrhundertjahr-Regel des Gregorianischen Kalenders. Nicht nur, daß das daraufhin deutet, daß der Urheber dieser Sternzeit- Theorie nicht viel von Kalenderrechnung verstand. Ich glaube auch kaum, ein Zeitalter der Intergalaktischen Raumfahrt würde ein Zeitsystem konstruieren, bei dem die Länge für 1 Sternzeit unterschiedliche Größen annehmen kann. Auch den Autoren von "Raumschiff Enterprise", die ja Mitte der 60er Jahre vor der Frage eines künstlichen Zeitsystems für ihre Anekdoten standen, traue ich eine solch unausgegorene Methode nicht zu. Gut. Ich weiß nicht, was sich jene Autoren bei ihrer Sternzeit gedacht haben. Ich weiß also nicht, wie Sternzeit korrekt in Realzeit umgerechnet werden kann. Deshalb war ich mit der Frage ja auch bei Google... Ich ging, ungeprüft also, immer davon aus, daß Sternzeit auf dem "Julianischen Datum J.D." basiert, und konkreter M.J.D. (Modifiziertes Julianische Datum) minus 100 000 ist. Damit wäre Sternzeit null am 01.09.2132 um 0 Uhr UT, und würde pro Erdtag um den Wert 1 anwachsen... Soweit also meine Sternzeit-Theorie, unüberprüft... Was meinst du denn dazu? Viele Grüße! Bernd ...und im Internet: www.butterfisch.tk
Hallo Bernd,
und vielen Dank für deine Zuschrift. Ich glaube immer gar nicht,
wie viele Leute meine Kalenderseite finden. Also, ich muß zunächst
gestehen, daß ich mich selbst nicht so tief mit der Sternzeit
befaßt habe. Aber als altem Suchmaschinen Experten ist mir
zu guter Letzt die Tatsache eingefallen, daß die einfachsten
Dinge manchmal mehr wert sind als die gewagtesten Überlegungen.
Und so habe ich einfach mal auf Verdacht die Adresse
www.startrek.com angesurft. In den FAQ hab ich dann genau diese
Antwort gefunden.
( stardates alt, geht nicht mehr)
Startrek FAQ:
How are stardates calculated and is there a way I can convert today's date into a stardate?
Die wichtigen Äußerungen und Feststellungen sind also:
Gene Roddenberry (singemäß):
Einfach um uns davon fernzuhalten,
uns zu binden unter 2265 [Jahr?]. Und um klar zu machen,
daß Star Trek in der Zukunft spielt.
Es gab keine Methode, das Datum zu berechnen, aber die Produzenten
der originalen Show hatten eine ungefähre Linie der Sternendaten
und es gab ein bißchen Logik, wie sie fortfahren wollten.
Wie auch immer, als die Folgen außer der Ordnung
der Produktionsreihenfolge gerieten, ging die Sternzeit
manchmal weiter zurück. Um diesem Problem Herr zu werden,
formulierte Roddenberry eine clevere Erklärung mit einem Schuß
wissenschaftlicher Zweideutigkeit, um die Sternzeit plausibel zu machen.
Sie "reagierten auf Verschiebungen in der relativen Zeit, die
wegen der Geschwindigkeit der Raumschiffe und der Warpfähigkeit
... auftreten."
Als Star Trek: The Next Generation produziert wurde, wurde eine
neue Ziffer zur Sternzeit hinzugefügt. In Übereinstimmung
mit Michael und Denise Okuda's "Star Trek Chronology" fügte
Gene Roddenberry die zusätzliche Ziffer hinzu, um zu zeigen,
wieviel Zeit vergangen war zwischen der originalen Serie und
den neuen Folgen. Die erste benutzte Ziffer war eine 4 und die
zweite Ziffer kennzeichnete die aktuelle Jahreszeit der Folge.
Die letzten drei Ziffern vorm Komma [Dezimalpunkt] zählten
von 0 bis 999 in Übereinstimmung mit der Position der Folge
in der Jahreszeit.
Nachdem Sternzeit keinen Bezug zur Wirklichkeit hat,
haben es die Fans übernommen, ihre eigene Version der Zeitrechnung
basierend auf dem Standard-Kalender zu bringen. In der
Benutzung einer Jahr, Monat, Tag Annäherung entspricht der Tag der ersten
Episode von Star Trek, gesendet am 8. September 1966, 6609.08.
Ich glaube, diese freie Übersetzung gibt einen guten
Überblick über die wirklich (oder auch nicht) von den
Machern vorgesehene Sternzeit. Ich hoffe, ich habe es sinngemäß
richtig übersetzt.
viele Grüße, Thomas
Und noch eine Ergänzung von Florian Heidinger vom 15.11.02, 00:02:44
Hallo, das JavaScript [..] wurde mir von jemand anderem programmiert. Das ursprüngliche CFML-Script verwendet eine integrierte Datumsfunktion, welche eigentlich halbwegs richtig funktionieren sollte... Zur Sternzeit selber gibt es im Buch "30 Jahre Star Trek - Sonderausgabe für Sammler" (ISBN: 4394178516002) zum nachlesen. =========== Die Sternzeit Es gibt bei Star Trek nur wenige Themen, die eine so heftige Debatte ausgelöst haben, wie das Sternzeitsystem, die von der Vereinigten Föderation der Planeten verwendete Zeitrechnung, die bereits in der Serie Raumschiff Enterprise von Gene Roddenberry unter Anleihe des gegenwärtig in der Astronomie verwendeten julianischen Kalenders eingeführt wurde. Nach Joseph Justus Scaliger beginnt die (nach seinem Vater Julius benannte) julianische Zeitrechnung mit dem ersten Januar 4713 vor Christi Geburt. Für den dreißigsten Jahrestag der Erstsendung der Raumschiff Enterprise-Serie (am 8. September 1996) sind demnach 2.450335 Tage verstrichen. Zur Vereinfachung verwendet die Astronomie allerdings nur die letzten fünf Stellen, was für den Tag des Star Trek-Jubiläums 50335 ergibt. Für Raumschiff Enterprise fügte Roddenberry pro Episode jeweils eine Stelle nach dem Komma hinzu (z.B 50335,2), die ein bestimmtes Zehntel im 24stündigen Tagesrhytmus angibt, den genaueren Handlungszeitpunkt also. * Star Trek : Raumschiff Enterprise: Roddenberry verkürzte das fünfstellige julianische Datum auf vier Stellen und nannte es "Sternzeit". Diese diente weniger der präzisen zeitlichen Einordnung der Folgen, sondern sollte nur zum Ausdruck bringen, daß die Handlung in der Zukunft spielt. Die Sternzeit erscheint nicht unbedingt in chronologischer Ordnung, da die Folgen nicht immer in der gedrehten Reihenfolge gesendet wurden. Für die sechs ersten Spielfilmen wurde das vierstellige Datum beibehalten * Star Trek: Das nächste Jahrhundert: Um die Sternzeiten des 24. Jahrhunderts deutlich von denen des 23. Jahrhundersts abzuheben, fügte Roddenberry den Sternzeitangaben eine fünfte Ziffer hinzu. Wenn auch keine exakte Angabe zum Handlungszeitraum, läßt das 'Datum' dennoch ein Schema erkennen, aus dem die chronologische Ordnung der Folgen ersichtlich ist (siehe Diagramm rechts). * Star Trek Deep Space Nine und Star Trek: Voyager: Da sowohl die dritte und vierte Star Trek-Serie als auch der Kinofilm "Star Trek - Treffen der Generationen" im 24. Jahrhundert von ST: TNG spielen, wurden die jeweiligen Sternzeitdaten aufeinander abgestimmt, um dem Star Trek-Universum chronologische Kontinuität zu verleihen. Die erste Folge von ST:DS9 erhielt die Sternzeit 46379,1, da die Premiere der dritten Staffel in die sechste Staffel von ST:TNG fiel. Die erste Folge von ST: Voyager ist mit 48315,6 datiert, da ihre Erstsendung acht Staffeln nach dem Start von ST:TNG wurde. [Diagramm] Sternzeit 42523,7 - 4: Die erste Stelle (4) steht für das 24. Jahrhundert. - 2: Die zweite Stelle steht für die Staffel. - 523: Diese 3 Ziffern steigen in unregelmäßigen Intervallen von 000 auf 999 an. - ,7: Die Zahl r. vom Komma gibt das Zehntel einer 24 stündigen Zeiteinheit an. =========== Soweit die Info aus dem Buch. Ich habe mich vorallem an der zweiten Ziffer ("für die Staffel") orientiert. Eine Staffel entspricht genau einem Jahr.... daraus ergibt sich also dass ein Jahr 1000 Sternzeit hat. Wenn man davon ausgeht kann man sich die Sternzeit 0,0 errechnen, welche der 1.1.2323 ist. (nach Kirk!!) Es stimmt zwar nicht mit der Sternzeit von Kirk mehr überein, aber dafür mit den restlichen drei Serien... Außerdem läßt sich eine Sternzeit so leichter automatisch berechnen ;-) Man könnte die nächsten drei Ziffern auf die Tage verteilen... 2 Sternzeiten = 1 Tag. Daher wäre Sternzeit 42200,5 der 100. Tag des Jahres 2365. Die Zahl hinterm Komma wäre dann entweder Vormittags oder Abend (AM/PM)... also [0,2,4,6,8],5 wäre 6:00 morgens, während [1,3,5,7,9],5 18:00 wäre. Bei Sternzeiten scheiden sich die Geister ;-) die Federation Experimental Fleet 2000 hat die Existenz von Minus-Sternzeiten abgelehnt und für deren Rollenspiel die Sternzeit immer im Kreis drehen lassen ;-) Also alle 100 Jahre gibt es die gleiche Sternzeit ;-) Die Theorie von Bernd stimmt auch (siehe Ausschnitt aus dem Buch), aber läuft mit TNG (2363 bis 2370) nicht synchron... Gruss, Florian
... auf seine Seite Kalendersysteme mit Diskussions-Forum.
Auf meiner Homepage habe ich vor einiger Zeit ein Board eingerichtet, in dem unter anderem ein Forum für Chronologie dargeboten wird.
beste Grüße und viel Erfolg, Thomas
Bin heute wieder über die Sternzeitberechnung gefallen.
Habe festgestellt, daß die Startrek Sternzeit-Berechnung wie von mir verlinkt
nicht mehr existiert. Suchte nach einer Formel für Excel.
Habe mich an die ursprüngliche Aussage von
Florian Heidinger
gehalten.
Die Aussagen, daß manche Fan-Gruppen keine negativen Zeiten akzeptieren hilft für
eine Berechnung genauso wenig wie die Erläuterung für die
Zeitangaben der Serien, da diese in der Zukunft spielen.
Danach sind die wichtigsten Aussagen, daß ein Jahr mit Sternzeit 1000
gerechnet wird und der 1. Januar 2323 Sternzeit 0.00 ist;
demnach ist der 1. Januar 2324 Sternzeit 1000.00 .
Daraus schlußfolgernd und die alte Aussage berücksichtigend:
Tag_des_Jahres / Tage_im_Jahre * 1000
ergibt sich für Excel die Formel:
Sternzeit = (Jahr - 2323 + ((Tag_des_Jahres-1) / Tage_im_Jahr)) * 1000
(19b) (Sternzeit)
Korrekterweise muß man sagen, daß man natürlich von Tag_des_Jahres
noch 1 abziehen muß, damit man auch auf 0 kommt.
Und Tage_im_Jahr ist dann 365 + SJS
.
So ergibt sich für den 09.04.2004 die Sternzeit -318729,51 .
Habe ein entsprechendes Feld in die
Excel Tabelle
eingefügt.
Die o.g. Formel bezieht sich immer auf 0:00 Uhr des Tages.
Die Zeit muß als Bruchteil von 1 hinter Tag_des_Jahres addiert werden.
Bruchteil von 1 errechnet sich so:
(h*3600 + min*60 + sec) / 86400
.
= (JG - 2323 + ((TagImJahr-1 +JETZT()-GANZZAHL(JETZT())) / 365+SJS)) * 1000
(19c) (Sternzeit jetzt Excel)
Sternzeit = (Jahr - 2323 + ((Tag_des_Jahres-1 +((h*3600 + min*60 + sec) / 86400)) / Tage_im_Jahr)) * 1000
(19d) (Sternzeit jetzt)
Ralf Glogau schreibt am 13.09.2007:
Hallo Herr Hofmann, Ich habe Ihre Seite besucht und darauf einige Links zum Thema Kalender gefunden. Ich habe einen online Ferienkalender erstellt, den Sie hier: http://www.fanshop-online.de/kalender/Ferienkalender.php finden. Falls Sie Interesse haben den Kalender in Ihre Seiten einzubinden, koennen Sie sich gern auf die Seite verlinken oder die Seite als Frame einbinden. Falls Ihr Webspace externen PHP-Scripten erlaubt, koennen Sie auch gern den Kalender per include einbinden. Bitte mailen sie mir, dann teile ich Ihnen den Namen das Scriptes mit. Viele Gruesse Ralf Glogau
Aber gern doch verlinke ich Ihren Ferienkalender der Bundesrepublik Deutschland interaktiv für die Bundesländer.
Vielen Dank für die fachliche Unterstützung beim Literaturverzeichnis an Angelika Hofmann (a.hofmann@antique-books.de) mit ihrer Junkers F-13 (Junkers F-13 alter Platz) (Wenn ihr mich fragt, die einzig korrekten Angaben. Frau Hofmann hat eine Zeit lang im deutschen Museum für Herrn Junkers an der Aufarbeitung der Unterlagen gearbeitet. Und -- wir sind nicht verwandt oder verschwägert. ;-) ) Zusammen mit ihrem Partner betreibt sie das Versandantiquariat Dr. Wolfgang Beck ( bzw. über die Suche: Dr. Wolfgang Beck Antiquariat), (ein Online-Antiquariat (mit lauter alten Büchern ;-) ). Das Antiquariat ihrer Tochter hat sie aufgebaut.
/ 4/ | Schlag Nach - Natur. -- Leipzig: Bibliograph. Institut, 1952. |
/ 5/ | Seleschnikow: Wieviel Monde hat ein Jahr. -- Leipzig; Jena; Berlin: Urania-Verl., 1981. |
/ 6/ | Google+ Community Kalenderrechnung |
/90/ | Gesetzliche Feiertage nach Kultusministerkonferenz, Ferienkalender (22.07.2009) (alt, geht nicht mehr 27.09.2006) (13.01.2009 wieder mal eine URI geändert :-( Liebe Kultusministerkonferenz, Cool URIs don't change!. Was meint ihr, wie viele Webseiten im Laufe der Jahre auf euer Angebot verlinkt haben? Ich kann es euch sagen: heute nach Google 639 und nach Yahoo 230 |
/91/ | Der junge Montgelas. - S. 85. -- [Kopie vorhanden] |
/92/ | Meyers Konversations-Lexikon. -- 5., gänzlich neubearb. Aufl. -- Leipzig; Wien: Bibliograph. Inst., 1894. -- Bd. 6, S. 338-340. |
/93/ | Buchberger: Michael: Lexikon für Theologie und Kirche. -- 2., völlig neubearb. Aufl. des kirchlichen Handlexikons. -- Freiburg i. Br.: Herder, 1931. -- Bd. 4, S. 95-102. |
/94/ | Buchberger: Michael: Lexikon für Theologie und Kirche. -- 2., völlig neubearb. Aufl. des kirchlichen Handlexikons. -- Freiburg i. Br.: Herder, 1931. -- Bd. 3, S. 1014-1019. |
/95/ | Dokumente zur Geschichte von Staat und Gesellschaft in Bayern / Hrsg.: Kommission für Bayerische Landesgeschichte. - München: Beck. - Abteilung III: Bayern im 19. und 20. Jahrhundert. - Band 8: Kultur und Kirchen. -- 1983. - S. 351-354, 369-371. |
/96/ | Weis, Eberhard: Maximilian von Montgelas: ein Lebensbild. - S. 37-44. -- [Kopie vorhanden] |
/97/ | Die Chronik Bayerns. - 2. überarb. Aufl. -- Gütersloh; München: Chronik-Verl., 1987. - S. 297. -- [mit Hilfe von Herrn Pfarrer Wagner, Pfarramt Buchbach] |
/98/ | Zeit und Frequenz, Fachbereich 4.4 (alt, gibt es nicht mehr: Fachlaboratorium 4.32 Zeiteinheit) - Physikalisch-Technische Bundesanstalt |
/99/ | Astronomisches Kalenderwesen - Das Münchner Astro Archiv |
Fragen, Feedback, Tips? ==> E-Mail an (oder Kontaktformular) | zurück zur Homepage |
31. jul 2002 / Bestandteil von Thomas Hofmann Online / www.th-o.de