Advanced  Services Gregorianischer und Julianischer Kalender

Da sich einige Übungsaufgaben mit Kalenderproblemen beschäftigen, finden Sie hier ein wenig Information über den gregorianischen Kalender und seinen Vorgänger, den julianischen Kalender.


Der gregorianische Kalender

Im Jahre 1582 wurde durch Papst Gregor XIII der gregorianische Kalender eingeführt. In den Ländern, die den Übergang als erste vollzogen, folgte auf Donnerstag, den 4.Oktober sofort der Freitag, 15.Oktober. Die dazwischen liegende Kalendertage wurden übersprungen. Der einzige Unterschied zum vorher geltenden Julianischen Kalender war eine neue Schaltjahresbedingung. Die seit JDK1.1 existierende Klasse GregorianCalendar bildet diesen Vorgang exakt ab. Die Klasse GregorianCalender hat eine Methode um den Beginn des gregorianischen Kalenders zu verschieben. Da der vom Papst verordnete Termin nicht überall akzeptiert wurde, kann man so verschiedene Übergänge modellieren. So wurde der neue Kalender zum verordneten Termin nur in Spanien, Portugal und dem größten Teil Italiens eingeführt. Die übrigen katholischen Länder Europas folgten 1583 und 1584. Erst 1700 führten die protestantischen Länder den gregorianischen Kalender ein, berechneten aber das protestantische Osterfest nach der alten Regel. 1776 schließlich wurde der gregorianische Kalender vollständig übernommen.


Der julianische Kalender

Vor dem gregorianischen Kalender galt der julianische Kalender, den Julius Cäsar 45 v.Chr. einführte. Eine Kalenderreform war dringend notwendig geworden, da mittlerweile der Januar etwa 80 Tage zu früh begann und damit in den Herbst fiel. Julius Cäsar beauftragte deshalb den alexandrinischen Astronomen Sosigenes mit der Ausarbeitung eines neuen Kalenders. Nach dem Vorbild des ägyptischen Kalenders wurde der julianische Kalender ein reiner Sonnenkalender. Sosigenes schlug Cäsar eine Schaltjahresregel vor. Auf Anordnung Cäsars wurde dann das Jahr 46 v.Chr. auf 445 Tage verlängert, um die Monate wieder mit den Jahreszeiten abzustimmen und 45 v.Chr. war dann das erste Schaltjahr. Mit diesem Kalender wurde zum ersten Mal eine periodische Schaltjahresregel eingeführt. Jedes vierte Schaltjahr sollte ein Schaltjahr sein. Das war für die damalige Zeit eine äußerst genaue Regel. Es dauerte etwa 1600 Jahre bis sich der Fehler des julianischen Kalenders auf die 11 Tage aufaddierte, die dann bei der Einführung des gregorianischen Kalenders übersprungen wurden. Als Cäsar 44 v.Chr. starb wurde zwar ihm zu Ehren der römische Monat "quintilis" in "iulius" umbenannt, daher unser Monatsname Juli, doch die Schaltjahresregel wurde falsch angewandt und jedes dritte Jahr zum Schaltjahr erklärt. Kaiser Augustus erkannte und korrigierte diesen Fehler, in dem er ab dem Jahre 8 v.Chr. für 12 Jahre keine Schaltjahre mehr zuließ. Zu Ehren von Augustus wurde nun der sechste Monat des römischen Kalenders, der "sextilis" in "augustus" umbenannt, daher unser Monatsname August. Damit ergeben sich ab dem Jahre 45 v.Chr. folgende Jahre als Schaltjahre :

-45 -42 -39 -36 -33 -30 -27 -24 -21 -18 -15 -12 -9

Nun tritt die durch Augustus verordnete Schaltjahrpause ein. Die folgende Jahre sind keine Schaltjahre:

-8 -7 -6 -5 -4 -3 -2 -1 1 2 3 4 5 6 7

Das Jahr 0 hat es nie gegeben, auf 1 v.Chr. folgte sofort 1 n.Chr. Beginnend mit dem Jahre 8 gilt die einfache Schaltregel, daß jedes durch 4 teilbare Jahr ein Schaltjahr ist. Diese Regel gilt bis 1582.


Die gregorianische Schaltjahresbedingung

Ein Jahr ist Schaltjahr, wenn die Jahreszahl entweder durch 4 teilbar ist und nicht durch 100 oder durch 400 teilbar ist.
Beispiele: 2000 war ein Schaltjahr, 1900 war kein Schaltjahr, 1996 war ein Schaltjahr, 2002 war kein Schaltjahr

Java spoken : boolean leapyear = (year%4==0 && year%100!=0) || year%400==0 ;


Die julianische Schaltjahresbedingung

Ein Jahr ist Schaltjahr, wenn die Jahreszahl durch 4 teilbar ist.


Die Gauß'sche Wochentagsformel für den gregorianischen Kalender

Das Datum sei in  tag , monat , jahr  abgelegt.

Es werden zwei Hilfsgrößen h und k wie folgt berechnet :

  Ist monat <= 2,  so ist   h = monat + 12 und  k = jahr - 1. 
  Ist monat > 2,  so ist   h = monat  und  k = jahr. 


Der Wochentag ergibt sich nun durch :

wochentag = [ tag + 2*h + (3*h + 3) div 5 + k + k div 4 - k div 100 + k div 400 +1] mod 7

Dadurch erhält die Variable wochentag einen Wert zwischen 0 und 6 .
(div = Ganzzahldivision, mod = modulo = Divisionsrest)

Dabei bedeutet 0 = Sonntag , 1 = Montag , usw.


Die Wochentagsformel für den julianischen Kalender

Die Gaußsche Formel läßt sich sehr leicht an den julianischen Kalender anpassen. Die folgende Formel liefert die richtigen Wochentage im Zeitraum vom Sa, 01.01.0001 - Do, 4.10.1582 :

wochentag = [ tag + 2*h + (3*h + 3) div 5 + k + k div 4 -1 ] mod 7

Dadurch erhält die Variable wochentag einen Wert zwischen 0 und 6 .
(div = Ganzzahldivision, mod = modulo = Divisionsrest)

Dabei bedeutet 0 = Sonntag , 1 = Montag , usw.


Die Bedeutung von Ostern

Seit dem Altertum richtet sich das Osterfest nach dem Frühlingsanfang. Dieser wiederum wird von den Astronomen (nicht Astrologen...) berechnet. In der katholischen Welt ist der Ostersonntag der erste Sonntag nach dem ersten Vollmond nach Frühlingsanfang. Mit Ausnahme des ersten Advents richten sich alle beweglichen katholischen Festtage nach dem Ostersonntag.

Faschingssonntag

Der 7.Sonntag vor dem Ostersonntag

Aschermittwoch

Der Mittwoch nach dem Faschingssonntag

Ostersonntag

Der erste Sonntag nach dem ersten Vollmond nach Frühlingsanfang

Christi Himmelfahrt

39 Tage nach dem Ostersonntag (ist immer ein Donnerstag)

Pfingstsonntag

Der 7.Sonntag nach dem Ostersonntag

Dreifaltigkeitstag

Der 1.Sonntag nach dem Pfingstsonntag

Fronleichnam

11 Tage nach dem Pfingssonntag (ist immer ein Donnerstag)

1. Advent

Der 4. Sonntag vor dem 25. Dezember


Die Gauß'sche Osterformel

Gültig im Bereich des gregorianischen Kalenders

Das Jahr sei in der Variablen  jahr  abgelegt.

Das Osterdatum ergibt sich dann folgendermaßen :

Das Datum wird aus den Werten der beiden Größen d und e ermittelt. Um allerdings diese zu erhalten braucht man eine eine Reihe von Hilfsgrößen, die wir a, b, c, p, q, r, x und y nennen. Beachten Sie, wie die Hilfsgrößen voneinander abhängen.

  p = jahr div 100 
  q = p div 3   r = p div 4 
  x = (15+p-q-r) mod 30  y = (4+p-r) mod 7 
  a = jahr mod 19  b = jahr mod 4    c = jahr mod 7 
  d = (19*a+x) mod 30 
  e = (2*b+4*c+6*d+y) mod 7 

Jetzt kann man d und e auswerten

d==28 und e==6 , so gilt : Ostern ist am 18.April

d==29 und e==6 , so gilt : Ostern ist am 19.April

ansonsten gilt

ist 22+d+e < 32 , so folgt : Ostern ist am (22+d+e). März

ist 22+d+e >=32 , so folgt : Ostern ist am (d+e-9). April


Die Pfingstformel  (Abwandlung der Osterformel durch den Autor)

Gültig im Bereich des gregorianischen Kalenders

Das Jahr sei in der Variablen  jahr  abgelegt.

Das Pfingstdatum ergibt sich dann folgendermaßen :

Das Datum wird aus den Werten der beiden Größen d und e ermittelt. Um diese zu erhalten braucht man eine eine Reihe von Hilfsgrößen, die wir a, b, c, p, q, r, x und y nennen. Beachten Sie, wie die Hilfsgrößen voneinander abhängen.

  p = jahr div 100 
  q = p div 3   r = p div 4 
  x = (15+p-q-r) mod 30  y = (4+p-r) mod 7 
  a = jahr mod 19  b = jahr mod 4    c = jahr mod 7 
  d = (19*a+x) mod 30 
  e = (2*b+4*c+6*d+y) mod 7 

Jetzt kann man d und e auswerten

d==28 und e==6 , so gilt : Pfingsten ist am 06.Juni

d==29 und e==6 , so gilt : Pfingsten ist am 07.Juni

ansonsten gilt

ist d+e<22, so ist Pfingsten am (10+d+e).Mai

ist d+e>=22, so ist Pfingsten am (d+e-21).Juni


Die Faschingssonntagformel  (Abwandlung der Osterformel durch den Autor)

Gültig im Bereich des gregorianischen Kalenders

Das Jahr sei in der Variablen  jahr  abgelegt.

Der Faschingssonntag ergibt sich dann folgendermaßen :

Das Datum wird aus den Werten der beiden Größen d und e ermittelt. Um diese zu erhalten braucht man eine eine Reihe von Hilfsgrößen, die wir a, b, c, p, q, r, x und y nennen. Beachten Sie, wie die Hilfsgrößen voneinander abhängen.

  p = jahr div 100 
  q = p div 3   r = p div 4 
  x = (15+p-q-r) mod 30  y = (4+p-r) mod 7 
  a = jahr mod 19  b = jahr mod 4    c = jahr mod 7 
  d = (19*a+x) mod 30 
  e = (2*b+4*c+6*d+y) mod 7 

Jetzt kann man d und e auswerten

d==28 und e==6 , so gilt :
Faschingssonntag ist am 28.02 (jahr ist kein Schaltjahr)
Faschingssonntag ist am 29.02 (jahr ist Schaltjahr)

d==29 und e==6 , so gilt :
Faschingssonntag ist am 01.03 (immer)

ansonsten gilt

ist d+e<28, so gilt

Faschingssonntag ist am (1+d+e).02 (jahr ist kein Schaltjahr)
Faschingssonntag ist am (2+d+e).02 (jahr ist Schaltjahr)

ist d+e>=28, so gilt

Faschingssonntag ist am (d+e-27).03 (immer)


Und wenn wir schon dabei sind, wollen wir auch gleich noch den Aschermittwoch erledigen:


Die Aschermittwochformel  (Abwandlung der Faschingssonntagformel)

Gültig im Bereich des gregorianischen Kalenders

Das Jahr sei in der Variablen  jahr  abgelegt.

Der Faschingssonntag ergibt sich dann folgendermaßen :

Das Datum wird aus den Werten der beiden Größen d und e ermittelt. Um diese zu erhalten braucht man eine eine Reihe von Hilfsgrößen, die wir a, b, c, p, q, r, x und y nennen. Beachten Sie, wie die Hilfsgrößen voneinander abhängen.

  p = jahr div 100 
  q = p div 3   r = p div 4 
  x = (15+p-q-r) mod 30  y = (4+p-r) mod 7 
  a = jahr mod 19  b = jahr mod 4    c = jahr mod 7 
  d = (19*a+x) mod 30 
  e = (2*b+4*c+6*d+y) mod 7 

Jetzt kann man d und e auswerten

d==28 und e==6 , so gilt :
Aschermittwoch ist am 03.03 (immer)

d==29 und e==6 , so gilt :
Aschermittwoch ist am 04.03 (immer)

ansonsten gilt

ist d+e<25, so gilt

Aschermittwoch ist am (4+d+e).02 (jahr ist kein Schaltjahr)
Aschermittwoch ist am (5+d+e).02 (jahr ist Schaltjahr)

ist d+e>=25, so gilt

Aschermittwoch ist am (d+e-24).03 (immer)


Christi Himmelfahrt ? auch kein Problem


Die Christi-Himmelfahrt-Formel  (Abwandlung der Osterformel durch den Autor)

Gültig im Bereich des gregorianischen Kalenders

Das Jahr sei in der Variablen  jahr  abgelegt.

Christi Himmelfahrt ergibt sich dann folgendermaßen :

Das Datum wird aus den Werten der beiden Größen d und e ermittelt. Um diese zu erhalten braucht man eine eine Reihe von Hilfsgrößen, die wir a, b, c, p, q, r, x und y nennen. Beachten Sie, wie die Hilfsgrößen voneinander abhängen.

  p = jahr div 100 
  q = p div 3   r = p div 4 
  x = (15+p-q-r) mod 30  y = (4+p-r) mod 7 
  a = jahr mod 19  b = jahr mod 4    c = jahr mod 7 
  d = (19*a+x) mod 30 
  e = (2*b+4*c+6*d+y) mod 7 

Jetzt kann man d und e auswerten

d==28 und e==6 , so gilt :
Christi Himmelfahrt ist am 27.05

d==29 und e==6 , so gilt :
Christi Himmelfahrt ist am 28.05

ansonsten gilt

ist d+e=0 , so gilt
Christi Himmelfahrt ist am 30.04

ist 0<d+e<32 , so gilt
Christi Himmelfahrt ist am (d+e).05

ist d+e>=32, so gilt
Christi Himmelfahrt ist am (d+e-31).06


Die Dreifaltigkeitsformel  (Abwandlung der Osterformel durch den Autor)

Gültig im Bereich des gregorianischen Kalenders

Das Jahr sei in der Variablen  jahr  abgelegt.

Christi Himmelfahrt ergibt sich dann folgendermaßen :

Das Datum wird aus den Werten der beiden Größen d und e ermittelt. Um diese zu erhalten braucht man eine eine Reihe von Hilfsgrößen, die wir a, b, c, p, q, r, x und y nennen. Beachten Sie, wie die Hilfsgrößen voneinander abhängen.

  p = jahr div 100 
  q = p div 3   r = p div 4 
  x = (15+p-q-r) mod 30  y = (4+p-r) mod 7 
  a = jahr mod 19  b = jahr mod 4    c = jahr mod 7 
  d = (19*a+x) mod 30 
  e = (2*b+4*c+6*d+y) mod 7 

Jetzt kann man d und e auswerten

d==28 und e==6 , so gilt :
Dreifaltigkeitstag ist am 13.06

d==29 und e==6 , so gilt :
Dreifaltigkeitstag ist am 14.06

ansonsten gilt

ist d+e<15 , so gilt
Dreifaltigkeitstag ist am (17+d+e).05

ist d+e>=15, so gilt
Dreifaltigkeitstag ist am (d+e-14).06


Die Fronleichnamsformel  (Abwandlung der Osterformel durch den Autor)

Gültig im Bereich des gregorianischen Kalenders

Das Jahr sei in der Variablen  jahr  abgelegt.

Christi Himmelfahrt ergibt sich dann folgendermaßen :

Das Datum wird aus den Werten der beiden Größen d und e ermittelt. Um diese zu erhalten braucht man eine eine Reihe von Hilfsgrößen, die wir a, b, c, p, q, r, x und y nennen. Beachten Sie, wie die Hilfsgrößen voneinander abhängen.

  p = jahr div 100 
  q = p div 3   r = p div 4 
  x = (15+p-q-r) mod 30  y = (4+p-r) mod 7 
  a = jahr mod 19  b = jahr mod 4    c = jahr mod 7 
  d = (19*a+x) mod 30 
  e = (2*b+4*c+6*d+y) mod 7 

Jetzt kann man d und e auswerten

d==28 und e==6 , so gilt :
Fronleichnam ist am 17.06

d==29 und e==6 , so gilt :
Fronleichnam ist am 18.06

ansonsten gilt

ist d+e<11 , so gilt
Dreifaltigkeitstag ist am (21+d+e).05

ist d+e>=11, so gilt
Dreifaltigkeitstag ist am (d+e-10).06


Übungen zur Kalenderberechnung

Wochentag zum Datum

Wann ist Ostern

Kalenderberechnungen

Anlegen einer Datumsklasse