Bestimmung der Zeitpunkte von Ereignissen
ulrich
2023-04-17 5a9f2f4d4268c886576081970bc6b8f5dc311832
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;
   }
}
}