Bestimmung der Zeitpunkte von Ereignissen
ulrich
2023-03-19 2f6b9a6d698d70893d6d56ba0736910c14d44214
src/de/uhilger/zeitrechnung/ereignis/JulianischesEreignis.java
@@ -1,6 +1,7 @@
package de.uhilger.zeitrechnung.ereignis;
import de.uhilger.zeitrechnung.Datum;
import de.uhilger.zeitrechnung.Definition;
import de.uhilger.zeitrechnung.kalender.ISOKalender;
import de.uhilger.zeitrechnung.kalender.JulianischerKalender;
import java.util.ArrayList;
@@ -11,8 +12,10 @@
 * 
 * <p>
 * Die Ereignis-Definition lautet:<br> 
 * JulianischesEreignis.getDefinition.setp1(Monat des julianischen Kalenders);<br>
 * JulianischesEreignis.getDefinition.setp2(Tag im Monat des julianischen Kalenders);<br>
 * JulianischesEreignis.getDefinition.setp1(Monat des julianischen
 * Kalenders);<br>
 * JulianischesEreignis.getDefinition.setp2(Tag im Monat des julianischen
 * Kalenders);<br>
 * 
 * @author Ulrich Hilger
 */
@@ -29,22 +32,33 @@
  }
  /**
   * Die Tage eines Jahres im gregorianischen Kalendersystem
   * ermitteln, an denen das Ereignis stattfindet.
   * Die Tage eines Jahres im gregorianischen Kalendersystem ermitteln, an denen
   * das Ereignis stattfindet.
   * 
   * @param isoJahr das Jahr im gregorianischen Kalender,
   * fuer das ermittelt werden soll, an welchen Tagen das Ereignis stattfindet
   * @param isoJahr das Jahr im gregorianischen Kalender, fuer das ermittelt
   * werden soll, an welchen Tagen das Ereignis stattfindet
   * @return die Liste aus Datum-Objekten, die die Tage im gregorianischen 
   * Kalender bezeichnet, an denen das Ereignis stattfindet
   */
  @Override
  public List<Datum> getZeitpunkte(long isoJahr) {
    Datum jDatum = new Datum(isoJahr, (int) definition.getp1(), (int) definition.getp2());
    JulianischerKalender j = new JulianischerKalender();
    long tage = j.zuTagen(jDatum);
    ISOKalender g = new ISOKalender();
    long start = g.zuTagen(isoJahr, Definition.JANUAR, 1);
    long end = g.zuTagen(isoJahr, Definition.DEZEMBER, 31);
    JulianischerKalender j = new JulianischerKalender();
    Datum jStart = j.vonTagen(start);
    long jStartJahr = jStart.getJahr();
    Datum jEnd = j.vonTagen(end);
    long jEndJahr = jEnd.getJahr();
    long anzahlJahre = (jEndJahr - jStartJahr) + (long) 1;
    ArrayList list = new ArrayList();
    for (long y = 0; y < anzahlJahre; y++) {
      Datum jDatum = new Datum(isoJahr, (int) definition.getp1(), (int) definition.getp2());
      //JulianischerKalender j = new JulianischerKalender();
      long tage = j.zuTagen(jDatum);
      //ISOKalender g = new ISOKalender();
    list.add(g.vonTagen(tage));
    }
    return list;
  }  
}