Hallo Tagwächter,
Hm. Es waren nur übersichtliche Änderungen in INI und Programm erforderlich. Der 2017er Reformationstag klappt jetzt. Wobei mich das Ganze zu der Frage führt, ob ich nicht Begrenzungen im Sinne von notBevore und notAfter für jeden der Feiertage einführen sollte. Damit wäre die künftige Einführung, die Abschaffung und auch die Einmaligkeit "erschlagen"...
Before ;-)
Und man kann auch Feiertage verschieben, zum Beispiel den 17. Juni auf den 3. Oktober. Ich weiß man kann sie dann auch unterschiedlich benennen. Aber wenn die einfach Nationalfeiertag Deutschland heißen, hast du eine Verschiebung.
Und ich frage mich gerade, ob sich der Aufwand lohnt. Ich habe (mit meinen nicht wirklich überragenden Programmierkenntnissen) mehrere Anläufe getätigt, die Seitenerstellung auf brückentage.info zu automatisieren und bin (für mich) zu der Erkenntnis gelangt, dass eine händische Bearbeitung der Seiten zielführender ist. Für die Feriendichte erstelle ich zum Beispiel in excel Dateien, die dann als CSV importiert werden und ein wenig mit suchen und ersetzen aufgehübscht werden.
Im Ergebnis sieht das dann so aus: (April 2017)
$daten[0] = array('Sa','So','Mo','Di','Mi','Do','Fr');
$daten[1] = array(4.25,0,0,0,0,0,0,0,2,1,1,1,1,1,1,1,1,1,3,0,0,0,0,0,0,0,0,0,0,0,0);
$daten[2] = array(3.06,0,0,0,0,0,0,0,0,0,0,0,2,1,1,1,1,1,1,1,1,1,1,1,3,0,0,0,0,0,0);
$daten[3] = array(13.16,0,0,0,0,0,0,0,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,0,0,0,0,0,0,0);
$daten[4] = array(15.34,0,0,0,0,0,0,0,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,0,0,0,0,0,0,0);
$daten[5] = array(0.67,0,0,0,0,0,0,0,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,0,0,0,0,0,0,0);
$daten[6] = array(2.19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);
$daten[7] = array(7.42,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,0,0,0,0,0,0,0,0,0,0,0,0,0);
$daten[8] = array(2.00,0,0,0,0,0,0,0,2,1,1,1,1,1,1,1,1,1,1,3,0,0,0,0,0,0,0,0,0,0,0);
$daten[9] = array(9.68,0,0,0,0,0,0,0,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,0,0,0,0,0,0,0);
$daten[10] = array(21.82,0,0,0,0,0,0,0,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,0,0,0,0,0,0,0);
$daten[11] = array(4.89,0,0,0,0,0,0,0,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,0,0,0,0,0,0,0);
$daten[12] = array(1.24,0,0,0,0,0,0,0,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,0,0,0,0,0,0,0);
$daten[13] = array(5.07,0,0,0,0,0,0,0,0,0,0,0,0,2,1,1,1,1,1,1,1,1,1,3,0,0,0,0,0,0,0);
$daten[14] = array(2.85,0,0,0,0,0,0,0,2,1,1,1,1,1,1,1,1,3,0,0,0,0,0,0,0,0,0,0,0,0,0);
$daten[15] = array(3.47,0,0,0,0,0,0,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,0,0,0,0,0,0,0);
$daten[16] = array(2.73,0,0,0,0,0,0,0,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,0,0,0,0,0,0,0);
$feiertage[14] = array('Karfreitag','bef');
$feiertage[16] = array('Ostersonntag','bef');
$feiertage[17] = array('Ostermontag','bef');
gemeldete oder selbst gefundene Fehler kann ich dann dort korrigieren und muss nicht in einer relativ komplizierten Programmierlogik suchen, wo etwas falsch läuft und warum das im Mai 2015 klappt aber im Juni 2017 nicht.
Die Feiertage habe ich in einer kleinen Datenbank abgebildet. Bundesland und Feiertag als Entitätsmengen, BL_hat_FT alsRelationsship. Das Datum als Attribut. Der Reformationstag_2017 ist ein eigenes Entity. Das funktioniert zuverlässig. Dass ich da jedes Jahr wiederkehrende Aufgaben zu lösen habe, die auch eine gewisse Zeit benötigen, nehme ich gern in Kauf.
Bis demnächst
Matthias