phpbar.de logo

Mailinglisten-Archive

[php] Date Funktion - Feiertage Ö sterreich

[php] Date Funktion - Feiertage Ö sterreich

Andreas Heigl a.heigl at wdv.de
Die Mar 22 15:55:49 CET 2005


Carsten Möhrke schrieb:

> 
>> Und dann gibt es noch die Frage, ob du das
>> westlich-christliche Osterdatum willst, oder das
>> Orthodox-christliche. Die Daten sind nämlich auch
>> unterschiedlich und fallen mal aufeinander, aber mal ist da
>> auch ne Woche unterschied dabei.....
> 
> Das ist interessant. Wusste ich nicht. Wie berechnet sich denn das
> Orthodox-christliche Datum? Weißt Du das?
> 
Nachdem ich mich jetzt auch noch mal schlau gemacht habe ergibt sich
folgendes Bild:

Die korrekte Berechnung des Oster-termines nach gregorianischem und
Julianischem Kalender haben wir glaub ich erschöpfend erörtert.

Was mich anfangs stutzig gemacht hat, war die Tatsache, das zumindest die
Griechisch Orthodoxen zum Teil nur um eine Woche versetzt Ostern feiern, was
bei unterschieden in der Berechnungsgrundlage eigentlich nicht vorkommen
kann. ( der erste Sonntag nach Vollmond ist relativ eindeutig und wenn es
einen Unterschied gibt im Datum, dann muss der ja wohl vier wochen
auseinander liegen )

Unter http://www.new-byzantium.org/FrRgpls.htm bin ich dann aber fündig
geworden. Zumindest für die Griechich Orthodoxe Kirche scheint es zusätzlich
noch eine Auslegungssache zu sein, da Jesus NACH dem jüdischen Passah-Fest
gekreuzigt wurde, muss auch Ostern NACH dem jüdischen Passah-Fest gefeiert
werden. 
Daher ergibt sich ein Unterschied zwischen errechnetem Osterdatum und Ostern
nach dem griechich-orthodoxen Kalender.

Und nur um auf PHP und deine Frage zurückzukommen:

Ich hab da mal was vorbereitet

<?php
    // generate the unix-timestamp of the greek-orthodox easter-date
    // Version 0.1, 2005/03/22
    // Copyright (c) Andreas Heigl, wdv OHG (fa.heigl at wdv.de)
    //
    // This code is free software; you can redistribute it and/or modify
    // it under the terms of the GNU General Public License as published by
    // the Free Software Foundation; either version 2 of the License, or
    // (at your option) any later version.
    // 
    // This code is distributed in the hope that it will be useful,
    // but WITHOUT ANY WARRANTY; without even the implied warranty of
    // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    // GNU General Public License for more details.
    // 
    // Since this is a very short Program the GNU General Public License
    // is not included. Please find it on the website of the Open Software
    // Foundation at
    //     http://www.fsf.org/licensing/licenses/lgpl.txt
    // or write to the Free Software Foundation, Inc., 59 Temple Place,
    // Suite 330, Boston, MA  02111-1307  USA

function getGreekOrthodoxEaster ( $year )
{    
    $jewishYear = 3760 + $year;
    $endOfPessach = jdtounix ( jewishtojd ( 1, 20, $jewishYear ) );
    if ( $endOfPessach > getOrthodoxEaster ( $year ) )
    {
        $weekday = date ( 'w', $endOfPessach );
        return $endOfPessach + ( ( 7 - $weekday ) * 60 * 60 * 24 );
    } else
    {
        return getOrthodoxEaster ( $year );
    }
}

function getOrthodoxEaster ( $year )
{
    // taken from http://www.smart.net/~mmontes/ortheast.html
    $R1=$year % 19;
    $R2=$year % 4;
    $R3=$year % 7;
    $RA=19*$R1+16;
    $R4=$RA % 30;
    $RB=2*$R2+4*$R3+6*$R4;
    $R5=$RB % 7;
    $RC=$R4+$R5;
    return jdtounix ( juliantojd ( 3, 21, $year ) + $RC );
}
?>

Dieses Beispiel funktioniert für dieses Jahr hervorragend, für die
Richtigkeit in anderen Jahren übernehme ich keine Verantwortung!

Grüße

Andreas

-- 

wdv Medien & Kommunikation GmbH & Co. OHG
Mediendatenverarbeitung
Andreas Heigl
Siemensstrasse 6
61352 Bad Homburg
Germany
Telefon +49-(0)6172-670-185
Telefax +49-(0)6172-670-181
www.wdv.de



php::bar PHP Wiki   -   Listenarchive