Experimente mit einem großen jahr-Timestamp-array verliefen nicht befriedigend. (Laufzeit, Speicher)
Timestamps sind der Performancekiller für Datumsberechnungen ;)
Rechne mit Julianischen Tagen, ich hab vor Jahren mal eine PHP-Lib entwickelt, Anwendungsbeispiel:
try{
$date = new Date_Kirche(array('date' => array(
30,11,2017
)));
$kirchenjahr = $date->kirchenjahr();
ksort($kirchenjahr, SORT_NUMERIC);
foreach($kirchenjahr as $jd => $name){
$d = new Date(array('julianday' => $jd));
echo "$d $name\n";
}
}
catch(Exception $e){
print $e->getMessage();
}
// Ausgabe:
01.01.2017 So 52/2016 Neujahr
06.01.2017 Fr 01/2017 Drei Königstag
23.02.2017 Do 08/2017 Weiberfastnacht
27.02.2017 Mo 09/2017 Rosenmontag
14.04.2017 Fr 15/2017 Karfreitag
16.04.2017 So 15/2017 Ostersonntag
17.04.2017 Mo 16/2017 Ostermontag
25.05.2017 Do 21/2017 Christi Himmelfahrt
04.06.2017 So 22/2017 Pfingstsonntag
05.06.2017 Mo 23/2017 Pfingstmontag
15.06.2017 Do 24/2017 Fronleichnam
15.08.2017 Di 33/2017 Maria Himmelfahrt
22.11.2017 Mi 47/2017 Buß- und Bettag
26.11.2017 So 47/2017 Totensonntag
03.12.2017 So 48/2017 Erster Advent
10.12.2017 So 49/2017 Zweiter Advent
17.12.2017 So 50/2017 Dritter Advent
24.12.2017 So 51/2017 Vierter Advent
25.12.2017 Mo 52/2017 Erster Weihnachtstag
26.12.2017 Di 52/2017 Zweiter Weihnachtstag
Willste?