Hi,
ich habe mein folgendes PHP-Script zur Berechnung von Feiertagen schon so weit:
Doch die Tipps, welche ich bisher im Internet fand, brachten mir noch nicht das gewünschte Ergebnis. Vielleicht, habe ich auch nur eine kleine Sache falsch in meine Array-Struktur übernommen.
Die Berechnung jedenfalls weiß ich jetzt schon mal. Man rechnet minus elf Tage vom Ende des Kirchenjahres, also eine Woche vor dem ersten Advent. Dies muss man aber auch erstmal formulieren.
MfG
SWFP
ich habe mein folgendes PHP-Script zur Berechnung von Feiertagen schon so weit:
PHP:
<?php
$heute = date("d.m");
$year = date("Y");
$easterDate = easter_date($year);
$easterDay = date('j', $easterDate);
$easterDay2 = date('j'+1, $easterDate);
$easterMonth = date('m', $easterDate);
$easterYear = date('Y', $easterDate);
$Ostersonntag = $easterDay.".".$easterMonth.".";
$Ostermontag = $easterDay2.".".$easterMonth.".";
//$Ostersonntag_morgen = mktime(0, 0, 0, easterDate("d")+1, easterDate("m") , easterDate("Y"));
$Feiertage = array("01.01."=>"Neujahr",
"02.01."=>"",
"03.01."=>"",
"04.01."=>"",
"05.01."=>"",
"06.01."=>"Heilige Dreikönige/Dreikönigstag",
"07.01."=>"",
"08.01."=>"",
"09.01."=>"",
"10.01."=>"",
"11.01."=>"",
"12.01."=>"",
"13.01."=>"",
"14.01."=>"",
"15.01."=>"",
"16.01."=>"",
"17.01."=>"",
"18.01."=>"",
"19.01."=>"",
"20.01."=>"",
"21.01."=>"",
"22.01."=>"",
"23.01."=>"",
"24.01."=>"",
"25.01."=>"",
"26.01."=>"",
"27.01."=>"",
"28.01."=>"",
"29.01."=>"",
"30.01."=>"",
"31.01."=>"",
"01.02."=>"",
"02.02."=>"",
"03.02."=>"",
"04.02."=>"",
"05.02."=>"",
"06.02."=>"",
"07.02."=>"",
"08.02."=>"",
"09.02."=>"",
"10.02."=>"",
"11.02."=>"",
"12.02."=>"",
"13.02."=>"",
"14.02."=>"",
"15.02."=>"",
"16.02."=>"",
"17.02."=>"",
"18.02."=>"",
"19.02."=>"",
"20.02."=>"",
"21.02."=>"",
"22.02."=>"",
"23.02."=>"",
"24.02."=>"",
"25.02."=>"",
"26.02."=>"",
"27.02."=>"",
"28.02."=>"",
"29.02."=>"",
"01.03."=>"",
"02.03."=>"",
"03.03."=>"",
"04.03."=>"",
"05.03."=>"",
"06.03."=>"",
"07.03."=>"",
"08.03."=>"",
"09.03."=>"",
"10.03."=>"",
"11.03."=>"",
"12.03."=>"",
"13.03."=>"",
"14.03."=>"",
"15.03."=>"",
"16.03."=>"",
"17.03."=>"",
"18.03."=>"",
"19.03."=>"",
"20.03."=>"",
"21.03."=>"",
"22.03."=>"",
"23.03."=>"",
"24.03."=>"",
"25.03."=>"",
"26.03."=>"",
"27.03."=>"",
"28.03."=>"",
"29.03."=>"",
"30.03."=>"",
"31.03."=>"",
"01.04."=>"",
"02.04."=>"",
"03.04."=>"",
"04.04."=>"",
"05.04."=>"",
"06.04."=>"nichts",
"07.04."=>"",
"08.04."=>"",
"09.04."=>"",
"10.04."=>"",
"11.04."=>"",
"12.04."=>"",
"13.04."=>"",
"14.04."=>"",
"15.04."=>"",
"16.04."=>"",
"17.04."=>"",
"18.04."=>"",
"19.04."=>"",
"20.04."=>"",
"21.04."=>"",
"22.04."=>"",
"23.04."=>"",
"24.04."=>"",
"25.04."=>"",
"26.04."=>"",
"27.04."=>"",
"28.04."=>"",
"29.04."=>"",
"30.04."=>"",
"01.05."=>"Tag der Arbeit",
"02.05."=>"",
"03.05."=>"",
"04.05."=>"",
"05.05."=>"",
"06.05."=>"",
"07.05."=>"",
"08.05."=>"",
"09.05."=>"",
"10.05."=>"",
"11.05."=>"",
"12.05."=>"",
"13.05."=>"",
"14.05."=>"",
"15.05."=>"",
"16.05."=>"",
"17.05."=>"",
"18.05."=>"",
"19.05."=>"",
"20.05."=>"",
"21.05."=>"",
"22.05."=>"",
"23.05."=>"",
"24.05."=>"",
"25.05."=>"",
"26.05."=>"",
"27.05."=>"",
"28.05."=>"",
"29.05."=>"",
"30.05."=>"",
"31.05."=>"",
"01.06."=>"",
"02.06."=>"",
"03.06."=>"",
"04.06."=>"",
"05.06."=>"",
"06.06."=>"",
"07.06."=>"",
"08.06."=>"",
"09.06."=>"",
"10.06."=>"",
"11.06."=>"",
"12.06."=>"",
"13.06."=>"",
"14.06."=>"",
"15.06."=>"",
"16.06."=>"",
"17.06."=>"",
"18.06."=>"",
"19.06."=>"",
"20.06."=>"",
"21.06."=>"",
"22.06."=>"",
"23.06."=>"",
"24.06."=>"",
"25.06."=>"",
"26.06."=>"",
"27.06."=>"",
"28.06."=>"",
"29.06."=>"",
"30.06."=>"",
"01.07."=>"",
"02.07."=>"",
"03.07."=>"",
"04.07."=>"",
"05.07."=>"",
"06.07."=>"",
"07.07."=>"",
"08.07."=>"",
"09.07."=>"",
"10.07."=>"",
"11.07."=>"",
"12.07."=>"",
"13.07."=>"",
"14.07."=>"",
"15.07."=>"",
"16.07."=>"",
"17.07."=>"",
"18.07."=>"",
"19.07."=>"",
"20.07."=>"",
"21.07."=>"",
"22.07."=>"",
"23.07."=>"",
"24.07."=>"",
"25.07."=>"",
"26.07."=>"",
"27.07."=>"",
"28.07."=>"",
"29.07."=>"",
"30.07."=>"",
"31.07."=>"",
"01.08."=>"",
"02.08."=>"",
"03.08."=>"",
"04.08."=>"",
"05.08."=>"",
"06.08."=>"",
"07.08."=>"",
"08.08."=>"",
"09.08."=>"",
"10.08."=>"",
"11.08."=>"",
"12.08."=>"",
"13.08."=>"",
"14.08."=>"",
"15.08."=>"",
"16.08."=>"",
"17.08."=>"",
"18.08."=>"",
"19.08."=>"",
"20.08."=>"",
"21.08."=>"",
"22.08."=>"",
"23.08."=>"",
"24.08."=>"",
"25.08."=>"",
"26.08."=>"",
"27.08."=>"",
"28.08."=>"",
"29.08."=>"",
"30.08."=>"",
"31.08."=>"",
"01.09."=>"",
"02.09."=>"",
"03.09."=>"",
"04.09."=>"",
"05.09."=>"",
"06.09."=>"",
"07.09."=>"",
"08.09."=>"",
"09.09."=>"",
"10.09."=>"",
"11.09."=>"",
"12.09."=>"",
"13.09."=>"",
"14.09."=>"",
"15.09."=>"",
"16.09."=>"",
"17.09."=>"",
"18.09."=>"",
"19.09."=>"",
"20.09."=>"",
"21.09."=>"",
"22.09."=>"",
"23.09."=>"",
"24.09."=>"",
"25.09."=>"",
"26.09."=>"",
"27.09."=>"",
"28.09."=>"",
"29.09."=>"",
"30.09."=>"",
"01.10."=>"",
"02.10."=>"",
"03.10."=>"Tag der Deutschen Einheit",
"04.10."=>"",
"05.10."=>"",
"06.10."=>"",
"07.10."=>"",
"08.10."=>"",
"09.10."=>"",
"10.10."=>"",
"11.10."=>"",
"12.10."=>"",
"13.10."=>"",
"14.10."=>"",
"15.10."=>"",
"16.10."=>"",
"17.10."=>"",
"18.10."=>"",
"19.10."=>"",
"20.10."=>"",
"21.10."=>"",
"22.10."=>"",
"23.10."=>"",
"24.10."=>"",
"25.10."=>"",
"26.10."=>"",
"27.10."=>"",
"28.10."=>"",
"29.10."=>"",
"30.10."=>"",
"31.10."=>"Reformationstag",
"01.11."=>"",
"02.11."=>"",
"03.11."=>"",
"04.11."=>"",
"05.11."=>"",
"06.11."=>"",
"07.11."=>"",
"08.11."=>"",
"09.11."=>"",
"10.11."=>"",
"11.11."=>"Martinstag",
"12.11."=>"",
"13.11."=>"",
"14.11."=>"",
"15.11."=>"",
"16.11."=>"",
"17.11."=>"",
"18.11."=>"",
"19.11."=>"",
"20.11."=>"",
"21.11."=>"",
"22.11."=>"",
"23.11."=>"",
"24.11."=>"",
"25.11."=>"",
"26.11."=>"",
"27.11."=>"",
"28.11."=>"",
"29.11."=>"",
"30.11."=>"",
"01.12."=>"",
"02.12."=>"",
"03.12."=>"",
"04.12."=>"",
"05.12."=>"",
"06.12."=>"Nikolaustag",
"07.12."=>"",
"08.12."=>"",
"09.12."=>"",
"10.12."=>"",
"11.12."=>"",
"12.12."=>"",
"13.12."=>"",
"14.12."=>"",
"15.12."=>"",
"16.12."=>"",
"17.12."=>"",
"18.12."=>"",
"19.12."=>"",
"20.12."=>"",
"21.12."=>"",
"22.12."=>"",
"23.12."=>"",
"24.12."=>"Heiligabend",
"25.12."=>"1. Weihnachtstag",
"26.12."=>"2. Weihnachtstag",
"27.12."=>"",
"28.12."=>"",
"29.12."=>"",
"30.12."=>"",
"31.12."=>"Silvester"
);
//Array-key ist der String in form: "DD.MM." am osterdatum des jahres $year
$Feiertage[date("d.m.", easter_date($year))]="Ostersonntag";
$Feiertage[date("d.m.", easter_date(intval($year)))]="Ostersonntag";
//Array-key ist der String in form: "DD.MM." am Osterdatum + 1Tag (60sec*60min*24h) des Jahres $year
$Feiertage[date("d.m.", easter_date($year)+(60*60*24))]="Ostermontag";
//Array-key ist der String in form: "DD.MM." am Osterdatum - 1Tag (60sec*60min*24h) des Jahres $year
$Feiertage[date("d.m.", easter_date($year)-(60*60*24))]="Karsamstag";
//Array-key ist der String in form: "DD.MM." am Osterdatum - 2Tage (60sec*60min*48h) des Jahres $year
$Feiertage[date("d.m.", easter_date($year)-(60*60*48))]="Karfreitag";
//Array-key ist der String in form: "DD.MM." am Osterdatum - 3Tage (60sec*60min*72h) des Jahres $year
$Feiertage[date("d.m.", easter_date($year)-(60*60*72))]="Gründonnerstag";
//Array-key ist der String in form: "DD.MM." am Osterdatum - 7Tage (60sec*60min*168h) des Jahres $year
$Feiertage[date("d.m.", easter_date($year)-(60*60*168))]="Palmsonntag";
//Array-key ist der String in form: "DD.MM." am Osterdatum + 39Tage (60sec*60min*936h) des Jahres $year
$Feiertage[date("d.m.", easter_date($year)+(60*60*936))]="Christi Himmelfahrt";
//Array-key ist der String in form: "DD.MM." am Osterdatum + 49Tage (60sec*60min*1176h) des Jahres $year
$Feiertage[date("d.m.", easter_date($year)+(60*60*1176))]="Pfingstsonntag";
//Array-key ist der String in form: "DD.MM." am Osterdatum + 50Tage (60sec*60min*1200h) des Jahres $year
$Feiertage[date("d.m.", easter_date($year)+(60*60*1200))]="Pfingstmontag";
//Array-key ist der String in form: "DD.MM." am Osterdatum + 60Tage (60sec*60min*1440h) des Jahres $year
$Feiertage[date("d.m.", easter_date($year)+(60*60*1440))]="Fronleichnam";
$Feiertage["4. Advent"] = strtotime("last Sunday",mktime(0,0,0,12,25,$YY));
//Berechnung Buß- und Bettag am Kirchenjahr: Ende des Kirchenjahres (=der Sonntag vor dem ersten Advent) -11Tage
$Feiertage["Buß und Bettag"]=strtotime("-11 days", strtotime("1 sunday", mktime(0,0,0,11,26,$year)));
//Test
echo $Feiertage["01.01."];
echo "<br />";
echo $Feiertage["06.01."];
echo "<br />";
echo $Feiertage["24.03."];
echo "<br />";
echo $Feiertage["28.03."];
echo "<br />";
echo $Feiertage["29.03."];
echo "<br />";
echo $Feiertage["30.03."];
echo "<br />";
echo $Feiertage["31.03."];
echo "<br />";
echo $Feiertage["01.04."];
echo "<br />";
echo $Feiertage["06.04."];
echo "<br />";
echo $Feiertage["01.05."];
echo "<br />";
echo $Feiertage["09.05."];
echo "<br />";
echo $Feiertage["19.05."];
echo "<br />";
echo $Feiertage["20.05."];
echo "<br />";
echo $Feiertage["30.05."];
echo "<br />";
echo $Feiertage["03.10."];
echo "<br />";
echo $Feiertage["11.11."];
echo "<br />";
echo $Feiertage["20.11."];
echo "<br />";
echo $Feiertage["06.12."];
echo "<br />";
echo $Feiertage["22.12."];
echo "<br />";
echo $Feiertage["24.12."];
echo "<br />";
echo $Feiertage["25.12."];
echo "<br />";
echo $Feiertage["26.12."];
echo "<br />";
echo $Feiertage["31.12."];
?>
Doch die Tipps, welche ich bisher im Internet fand, brachten mir noch nicht das gewünschte Ergebnis. Vielleicht, habe ich auch nur eine kleine Sache falsch in meine Array-Struktur übernommen.
Die Berechnung jedenfalls weiß ich jetzt schon mal. Man rechnet minus elf Tage vom Ende des Kirchenjahres, also eine Woche vor dem ersten Advent. Dies muss man aber auch erstmal formulieren.
MfG
SWFP