View
111
Download
3
Category
Preview:
Citation preview
Algorithmen zur Zeitrechnung
Dozent: Prof. Dr. Manfred ThallerSeminar: Re-usable Content in 3D und Simulationssystemen
SoSe 2012Referent: Marvin Liu
Gliederung
1. Julianisches Datum (J D)
2. Julianischer Kalender
3. Gregorianischer Kalender
4. Islamischer Kalender
5. Jüdischer Kalender
6. Weiteres
1. Julianisches Datum (J D)
Entspricht der Anzahl der Tage seit dem 1.1.4713 v. Chr.
Wird für die Umrechnung zwischen zwei Kalendern benötigt
Ermöglicht einfache Rechnungen durch Anwendung der Grundrechenarten, Integer- und Modulofunktionen
→ In höheren Programmiersprachen enthalten
Zur Vermeidung von Rundungsdifferenzen sollten mit Reelle Zahlen doppelter Genauigkeit (min. 15 signifikante Stellen) gerechnet werden
1. Julianisches Datum (J D)
Der 1. Tag des J D war ein Montag, daher lässt sich aus dessen Rest mod 7 der Wochentag bestimmen
→ Mo = 0, Di = 1,... So = 6
1. Umrechnung vonJ D zum Julianischen Kalender
A = J D
B = A + 1524C = int((B – 122,1) / 365,25)D = int(365,25 * C)E = int((B – D) / 30,6001)
Tag = B – D – int(30,6001 * E) + 0,5Monat = ((E + 10) mod 12) + 1
Wenn Monat > 2 dann:Jahr = C – 4716Sonst:Jahr = C – 4715
1. Beispiel: Umrechnung vonJ D zum Julianischen Kalender
A = 2452015
B = 2452015 + 1524 = 2453539C = int((2453539 – 122,1) / 365,25) = 6717D = int(365,25 * 6717) = 2453384E = int((2453539 – 2453384) / 30,6001) = 5
Tag = 2453539 – 2453384 – int(30,6001 * 5) + 0,5 = 2,5Monat = ((5 + 10) mod 12) + 1 = 4Jahr = 6717 – 4716 = 2001
1. Umrechnung vonJ D zum Gregorianischen Kalender
Y = int((J D – 1867216,25) / 36524,25)A = J D + 1 + Y – int(Y / 4)
B = A + 1524C = int((B – 122,1) / 365,25)D = int(365,25 * C)E = int((B – D) / 30,6001)
Tag = B – D – int(30,6001 * E) + 0,5Monat = ((E + 10) mod 12) + 1
Wenn Monat > 2 dann:Jahr = C – 4716Sonst:Jahr = C – 4715
1. Beispiel: Umrechnung vonJ D zum Gregorianischen Kalender
Y = int((2452015 – 1867216,25) / 36524,25) = 16 A = 2452015 + 1 + 16 – int(16 / 4) = 2452028
B = 2452028 + 1524 = 2453552C = int((2453552 – 122,1) / 365,25) = 6717D = int(365,25 * 6717) = 2453384 E = int((2453552 – 2453384) / 30,6001) = 5
Tag = 2453552 – 2453384 – int(30,6001 * 5) + 0,5 = 15,5Monat = ((5 + 10) mod 12) + 1 = 4Jahr = 6717 – 4716 = 2001
2. Julianischer Kalender
Enthält im 4-jährigen Zyklus 3 Gemeinjahre mit 365 Tagen und ein Schaltjahr mit 366 Tagen
Beginn der Kalenderrechnung am 1. Januar 45 v. Chr.bzw. J D = 1704987
2. Julianischer KalenderBerechnung vom 0. Januar und julianischem Ostersonntag
zum J D
J = Jahr des Julianischen Kalenders
A = J mod 19B = J mod 4C = J mod 7D = (15 + 19 * A) mod 30E = (6 + 2 * B + 4 * C + 6 * D) mod 7F = int(J / 4)G = int((B + 3) / 4)
J D (0.Januar.J) = 1721057 + 1461 * F + 365 * B + GJ D (Ostersonntag) = J D (0.Januar.J) + D + E – G + 82
2. Beispiel: Julianischer KalenderBerechnung vom 0. Januar und julianischem Ostersonntag
zum J D
J = 2001
A = 2001 mod 19 = 6B = 2001 mod 4 = 1C = 2001 mod 7 = 6D = (15 + 19 * 6) mod 30 = 9E = (6 + 2 * 1 + 4 * 6 + 6 * 9) mod 7 = 2F = int(2001 / 4) = 500G = int((1 + 3) / 4) = 1
J D (0.Januar.J) = 1721057 + 1461 * 500 + 365 * 1 + 1 = 2451923J D (Ostersonntag) = 2451923 + 9 + 2 – 1 + 82 = 2452015
2. Julianischer KalenderBerechnung von Monaten und Tagen zum J D
1. Bestimmung, ob Schaltjahr oder Gemeinjahr:- n. Chr. sind alle Jahre Schaltjahr, die ohne Rest durch 4
teilbar sind- v. Chr. die Jahre 1, 5, 9, etc.
2. Werte aus entsprechender Tabellenspalte + Tageswert +J D (0.Januar.J) = J D von beliebigen Tag
2. Julianischer KalenderWichtigste Festtage zum J D
Feststehende Feiertage: 6. Jan. Christi Taufe; 2. Feb. Christi Darstellung im Tempel; 25. März Maria Verkündigung; 6. Aug. Christi Verklärung; 15. Aug. Maria Entschlafung; 8. Sept. Maria Geburt; 14. Sept. Kreuzerhöhung; 21. Nov. Einführung Maria in den Tempel; 25. Dez. Christi Geburt
Bewegliche Feiertage: [Ostern – 7] Christi Einzug in Jerusalem (Palmsonntag); [Ostern] Christi Auferstehung; [Ostern+ 39] Christi Himmelfahrt; [Ostern + 49] Hl. Dreifaltigkeit (Pfingsten)
3. Gregorianischer Kalender
Einführung am 15. Oktober 1583 greg. bzw. J D = 2299161
Unterscheidet sich lediglich durch die unterschiedliche Bezeichnung von einigen Feiertagen und einer veränderten Schaltjahres-Regelung vom Julianischen Kalender
Schaltjahr sind alle restlos durch 4 teilbaren Jahre, mit Ausnahme der durch 100 aber nicht durch 400 teilbaren Jahre
3. Gregorianischer KalenderBerechnung der 0. Januar zum J D
G = Jahr des Gregorianischen Kalenders
S = int(G / 100) S1 = G mod 100 S
2 = int(1 – S
1 / 100)
P = int(G / 400) P1 = G mod 400 P
2 = int(1 – P
1 / 400)
Q = int(G / 4) B = G mod 4 Q2 = int(1 – B / 4)
R = S mod 4 R1 = 3 P + R – 2 R
2 = Q
2 + P
2- S
2
J D (0.Januar.G) = 1721058 + 1461 Q + 265 B – R2 – R
1
3. Gregorianischer KalenderBerechnung der 0. Januar zum J D
G ist Schaltjahr, wenn R2 = 1 ist oder Gemeinjahr bei R
2 = 0
R1 gibt die Tagesdifferenz zwischen Julianischem und Gregorianischen Kalender für den 0. Januar des Jahres G an
Die Tagesdifferenz zwischen jul. und greg. Kalender lag zur Einführung des greg. Kalenders bei 10 Tagen, z.Z. bei 13 Tagen und ist stetig steigend
3. Gregorianischer KalenderBerechnung des gregorianischen Ostersonntags zum J D
M = (15 + S – int(S / 3) – int(S / 4)) mod 30N = (4 + S – int(S / 4)) mod 7
M und N für die Jahre 1582 – 2599:
3. Gregorianischer KalenderBerechnung des gregorianischen Ostersonntags zum J D
G = Jahr des Gregorianischen Kalenders
A = G mod 19B = G mod 4C = G mod 7D = (19 A + M) mod 30E = (2 B + 4 C + 6 D + N) mod 7F = 1 – R
2
X = 0Bei D = 29 und E = 6 und (11 M + 11) mod 30 < 19 dann X = 7Bei D = 28 und E = 6 und (11 M + 11) mod 30 < 19 dann X = 7
J D (Ostern.greg) = J D (0.Januar.G) + D + E – F – X + 82
3. Gregorianischer KalenderBerechnung von Monaten und Tagen zum J D
1. Wenn R2 = 1 werden die Werte aus der Spalte SchJ
verwendet, andernfalls GemJ
2. Werte aus entsprechender Tabellenspalte + Tageswert +J D (0.Januar.G) = J D von beliebigen Tag
3. Gregorianischer KalenderWichtigste Festtage zum J D
Feststehende Feiertage: 1. Jan Neujahr; 6. Jan. Epiphania; 2. Feb. Maria Lichtmeß; 25. März Maria Verkündigung; 3. Mai Kreuzerfindung; 15. Aug. Maria Himmelfahrt; 8. Dez. Maria Empfängnis; 25. Dez. Weihnachten
Bewegliche Feiertage: [Ostern – 7] Palmsonntag; [Ostern] Ostersonntag; [Ostern + 39] Christi Himmelfahrt; [Ostern + 49] Pfingsten; [Ostern + 59] Fronleichnam
4. Islamischer bzw. Mohammedanischer Kalender
Das Jahr enthält 12 Monate zu je 30 oder 29 Tagen
In einem 30-jährigen Zyklus werden 11 Schaltjahre eingeschaltet, die 354 Tage in Gemeinjahren und 355 Tage in Schaltjahren aufweisen
Schaltjahre sind die Jahre 2, 5, 7, 10, 13, 16, 18, 21, 24, 26 und 29 eines Zyklus
Der Schalttag wird als letzter Tag des Jahres als 30. Dhu l-Hijja angehängt
Der Islamische Kalender beginnt mit dem 1. Muharram 1 bzw. dem 16. Juli 622 jul. bzw. J D = 1948440
4. Islamischer KalenderBerechnung des 0. Muharram zum J D
M = Jahreszahl der Hedschra
K1 = 0,363636
K2 = 9,28
A = (M + 5) mod 30B = int(K
1 * A + K
2) mod 11
C = int(M / 30)D = M mod 30
J D (0.Muharram.M) = 1948085 + 10631 C + 354 D + B
4. Islamischer KalenderBerechnung der Monate und Tage zum J D
Da der Schalttag an das Schaltjahr angehängt wird, sind die Werte der Tabelle für Gemeinjahr und Schaltjahr gleich
Wert aus Tabelle + Tageswert + J D (0.Muharram.M) = J D von beliebigen Tag
4. Islamischer KalenderBerechnung der Wochentage
Die Wochentagsberechnung wird weiterhin durch J D mod 7 gebildet (Mo = 0, Di = 1,... So = 6)
Die arabischen Wochentage lauten:
4. Islamischer KalenderBerechnung der Wochentage
Alle islamischen Feiertage sind feststehende Feiertage:
5. Jüdischer Kalender
Das Jahr der Jüdischen Weltära (W. Ä.) hat 12 oder im Schaltjahr 13 Monate zu 30 oder 29 Tagen
Der 19jährige Schaltzyklus enthält sieben Schaltjahr welche im 3., 6., 8., 11., 14., 17., und 19. Jahr des Zyklus geschaltet werden
Es gibt 6 verschiedene Jahreslängen: Im Gemeinjahr 353, 354 oder 355 Tage und im Schaltjahr 383, 384 oder 385 Tage, die sich in ungleichmäßigen Rhythmus abwechseln
Im Schaltjahr wird der Monat Veadar an den Monat Adar angefügt
Der Jüdische Kalender beginnt am 1. Tishri 1 W. Ä. bzw. dem 7. Okt. 3761 v. Chr. jul. bzw. J D = 347998
5. Jüdischer KalenderBerechnung des 0. Tishri zum J D
H = Jahreszahl der Jüdischen Weltära
J D (0.Tishri.H) = 1721279 + m1 + E + 1461 J
1 + 365 b
5. Jüdischer KalenderBerechnung von Monaten und Tagen zum J D
Um das J D eines bestimmten Tages zu bestimmen wird die Jahreslänge benötigt. Diese erhält man, wenn man den 0. Tishri des Folgejahres berechnet und die Differenz aus den beiden Jahresanfängen ermittelt.
Werte aus entsprechender Tabellenspalte + Tageswert +J D (0.Tishri.H) = J D von beliebigen Tag
5. Jüdischer KalenderBerechnung der Wochentage zum J D
Der 1. Tag (Sonntag) fängt bereits am Samstag um 18:00 Uhr an, da der Tag mit dem Sonnenuntergang beginnt
Die Berechnung des Wochentags lautet weiterhin J D mod 7
Die Wochentage besitzen bis auf den Sabbat keine Namen:
5. Jüdischer KalenderWichtigste Festtage
6. Weitere Kalender
Der Chinesische Kalender ist ebenfalls mit Hilfe des Julianischen Datums berechenbar
6. Internet-Rechner
Kalenderrechner:http://www.nabkal.de/kalrech2.htmlhttp://www.ortelius.de/kalender/form_de2.php
Osterdatum:http://www.nabkal.de/ostrech1.html
Recommended