From 5a9f2f4d4268c886576081970bc6b8f5dc311832 Mon Sep 17 00:00:00 2001 From: ulrich Date: Mon, 17 Apr 2023 12:48:18 +0000 Subject: [PATCH] Orthodoxes Ostern berichtigt --- src/de/uhilger/zeitrechnung/kalender/JulianischerKalender.java | 29 +++++++++++++++-------------- 1 files changed, 15 insertions(+), 14 deletions(-) diff --git a/src/de/uhilger/zeitrechnung/kalender/JulianischerKalender.java b/src/de/uhilger/zeitrechnung/kalender/JulianischerKalender.java index 7aa8c93..d218062 100644 --- a/src/de/uhilger/zeitrechnung/kalender/JulianischerKalender.java +++ b/src/de/uhilger/zeitrechnung/kalender/JulianischerKalender.java @@ -19,6 +19,8 @@ import de.uhilger.zeitrechnung.Datum; import de.uhilger.zeitrechnung.Definition; +import static de.uhilger.zeitrechnung.Definition.APRIL; +import static de.uhilger.zeitrechnung.Definition.SONNTAG; /** * Die Klasse JulianischerKalender dient zur Umwandlung von generischem @@ -34,7 +36,10 @@ */ public class JulianischerKalender extends BasisKalender implements Wandler { - /** Starttag des julianischen Kalenders */ + /** + * Als Starttag wird der 1. Jaunuar 1 im julianischen Kalender festgelegt. + * 1. Januar 1 (jul) entspricht dem 30. Dezember 0 (greg). + */ public static final long STARTTAG = new ISOKalender().zuTagen(0, Definition.DEZEMBER, 30); @@ -90,6 +95,14 @@ return new Datum(jahr, monat, tag); } + public long orthodoxesOstern(long gJahr) { + long berichtigteEpakte = modulo(14 + 11 * modulo(gJahr, 19), 30); + long jJahr = gJahr > 0 ? gJahr : gJahr - 1; + long pMond = zuTagen(jJahr, APRIL, 19) - berichtigteEpakte; + return tagNach(pMond, SONNTAG); + } + + /* ------------ Besonderheiten des Julianischen Kalenders ---------- */ /** @@ -101,23 +114,11 @@ return modulo(jYear, 4) == (jYear > 0 ? 0 : 3); } - /*- bce -*/ - - // TYPE standard-year -> julian-year - // Negative value to indicate a BCE Julian year. - public long BCE(long n) { return -n; } - - /*- ce -*/ - - // TYPE standard-year -> julian-year - // Positive value to indicate a CE Julian year. - public long CE(long n) { return n; } - -} +} \ No newline at end of file -- Gitblit v1.9.3