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