Bestimmung der Zeitpunkte von Ereignissen
ulrich
2023-04-17 5a9f2f4d4268c886576081970bc6b8f5dc311832
src/de/uhilger/zeitrechnung/kalender/ISOKalender.java
@@ -137,4 +137,21 @@
        return 31;
    }
  }  
  public long ostern(long gregorianischesJahr) {
    long jahrhundert = 1 + ganzzahlQuotient(gregorianischesJahr, 100);
    long veraenderlicheEpakte = modulo(14
            + 11 * modulo(gregorianischesJahr, 19)
            - ganzzahlQuotient(3 * jahrhundert, 4)
            + ganzzahlQuotient(5 + 8 * jahrhundert, 25),
            30);
    long berichtigteEpakte = veraenderlicheEpakte == 0 ||
            (veraenderlicheEpakte == 1 && 10 < modulo(gregorianischesJahr, 19))
            ? veraenderlicheEpakte + 1
            : veraenderlicheEpakte;
    long vollmondOstern = zuTagen(gregorianischesJahr, Definition.APRIL, 19) -
            berichtigteEpakte;
    return tagNach(vollmondOstern, Definition.SONNTAG);
  }
}