Ankündigung

Einklappen
Keine Ankündigung bisher.

Western/Catholic und Orthodox Easter date

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • jspit
    hat ein Thema erstellt Western/Catholic und Orthodox Easter date.

    Western/Catholic und Orthodox Easter date

    Hi,
    easter_date() liefert ja nur den Zeitstempel des Ostersonntages für die Jahre 1970-2027, und dort auch nur für das 'westliche' Osterfest.

    Für DateTime gibt es diese Grenzen nicht, es fehlt jedoch eine gleichwertige Funktion für easter_date().
    Dafür werden hier 2 Funktionen vorgestellt:
    PHP-Code:
    function createDateEastern($year=null$timezone null) {
      if(
    $year === null$year date_create(null,$timezone)->format('Y');
      if(
    is_scalar($year)){
        
    $year = (int)$year;
        if(
    $year 1600 or $year >= 2100) return false;
      }
      else return 
    false;
      
    $easterDays easter_days($yearCAL_EASTER_ALWAYS_GREGORIAN);
      return 
    date_create($year.'-3-21',$timezone)->modify($easterDays.' Days');

    PHP-Code:
    function createDateOrthodoxEastern($year=null$timezone null) {
      if(
    $year === null$year date_create(null,$timezone)->format('Y');
      if(
    is_scalar($year)){
        
    $year = (int)$year;
        if(
    $year 1600 or $year >= 2100) return false;
      }
      else return 
    false;
      
    $easterDays easter_days($yearCAL_EASTER_ALWAYS_JULIAN);
      
    $dt date_create($year.'-4-3',$timezone)->modify($easterDays.' Days');
      return 
    $dt->modify('-'.$dt->format('w').' Days');

    Beide Funktionen liefern ein Objekt vom Typ DateTime für Jahreszahlen von 1600 - 2099 und false bei Fehlern.

    Weitere bewegliche Feiertage lassen sich relativ leicht aus den Datum des Osterfestes ableiten.

    Beispiel:
    PHP-Code:
    //Pfingstsonntage im aktuellen Jahr
    $pentecost createDateEastern()->modify('+49 Days');
    $orthodoxPentecost createDateOrthodoxEastern()->modify('+49 Days'); 
    LG jspit

  • jspit
    antwortet
    Kein Thema, schau hier.

    LG jspit

    Einen Kommentar schreiben:


  • Alex73
    antwortet
    Hallo jspit, das hat toll geklappt mit deiner Class. Vielen Dank dafür

    Sag mal, darf man die frei verwenden, also für meine Website, auch wenn Werbung drauf ist?
    GitHub hat ja irgendwie die Nutzungsbedingungen geändert.

    LG Alex73

    Einen Kommentar schreiben:


  • jspit
    antwortet
    Dafür must du nur setEasterDate() mit den Parameter dt::EASTER_EAST aufrufen, also ..->setEasterDate(dt::EASTER_EAST); , dann hast du die ORTHODOXEN Oster-Feiertage.

    LG jspit

    Einen Kommentar schreiben:


  • Alex73
    antwortet
    Das bezieht sich jetzt aber auf Deutschland, also spricht nicht die ORTHODOXEN Feiertage. Ich würde aber gerne die ORTHODOXEN Oster-Feiertage ausgeben. Die weichen zum Teil sehr stark ab.

    Einen Kommentar schreiben:


  • jspit
    antwortet
    Die obigen Funktionen sind mittlerweile auch als Methoden in der Klasse dt vorhanden. Der Codeschnipsel dazu wäre:
    PHP-Code:
    //use https://github.com/jspit-de/dt
    //require 'yourPath/class.dt.php';

    dt::setDefaultLanguage('de');  //German
    for($year=2018$year <= 2025$year++){
      
    $easterdate dt::create($year.'-1-1')->setEasterDate();
      echo 
    'Ostern '.$year.' ist am '.$easterdate->formatL('d. F').'<br>';

    Dies erzeugt eine Ausgabe wie
    Code:
    Ostern 2018 ist am 01. April
    Ostern 2019 ist am 21. April
    Ostern 2020 ist am 12. April
    Ostern 2021 ist am 04. April
    Ostern 2022 ist am 17. April
    Ostern 2023 ist am 09. April
    Ostern 2024 ist am 31. März
    Ostern 2025 ist am 20. April

    Einen Kommentar schreiben:


  • protestix
    antwortet
    Schau mal in die Wissenssammlung.

    Einen Kommentar schreiben:


  • Alex73
    antwortet
    Kann mir jemand schreiben wie ich passend zu der Funktion oben die Ausgabe erzeuge , sodass ich auch die Zeiten der jeweiligen Jahre sehen kann.

    Einen Kommentar schreiben:


  • fireweasel
    antwortet


    Falls dir langweilig werden sollte: Kennst du schon die Unterschiede zwischen den Festtagskalendern der Altkalendarier, Neukalendarier und der finnischen orthodoxen Kirche?

    Einen Kommentar schreiben:

Lädt...
X