Zitat von Ulfikado
Beitrag anzeigen
Bei mir stehen ja die Regeln/Formeln für ein Feiertagsdatum in der Konfiguration(Datenbank). Habe bisher keine Quelle_ gefunden, welche solche Regeln/Formeln liefert. Alle von mir zum Thema gefundenen Quellen liefern ein fertiges Datum zum vorgegebenen Jahr.
Habe mich jetzt doch entschlossen, weitere Länder als Vorlage in die Konfiguration einzupflegen. Aktuell sind ca. 20 Länder verfügbar. Ziel ist es, die Eurozone abzudecken.
Für diese Tätigkeit wurden mehrere externe Quellen als Vergleich herangezogen. Ich musste dabei feststellen, das zu einen kleinen Teil unterschiedliche Resultate geliefert werden. Extrem dünn sind Daten für das Jahr 2019 hinaus verfügbar.
Arbeite zur Zeit an einen Test, welcher Feiertagsdaten aus einer externen Quelle_ liefert und diese als Vergleichsdaten für die Klasse zur Verfügung stellt. Das Vervollständigen der Datenbankeinträge erfolgt damit gewissermaßen testgetrieben. Als Resultat erhalte ich eine Tabelle ähnlich
phpcheck.JspitHolidayOffice.php Total: 78 Tests, 51 Errors
PHPCheck V1.3.20, OS: WINNT, PHP-Version: 5.3.8 (32 Bit), Time: 1.29 s, Memory: 1.8M (128M)
2017-01-01 Switzerland New Years Day | 59 | $result = $holiday->holidayName($icsEvent->date,$lang); $t->check($result, $result !== false AND $result != "?"); |
[0.4 ms] 'New Year\'s Day' |
Ok |
2017-01-02 Switzerland Berchtolds Day (Regional) | 59 | $result = $holiday->holidayName($icsEvent->date,$lang); $t->check($result, $result !== false AND $result != "?"); |
[1.8 ms] 'Berchtolds Day' |
Ok |
2017-01-06 Switzerland Epiphany (Regional) | 59 | $result = $holiday->holidayName($icsEvent->date,$lang); $t->check($result, $result !== false AND $result != "?"); |
[0.7 ms] 'Epiphany' |
Ok |
2017-03-01 Switzerland Republic Day (Regional) | 59 | $result = $holiday->holidayName($icsEvent->date,$lang); $t->check($result, $result !== false AND $result != "?"); |
[1.6 ms] false |
Error |
2017-03-19 Switzerland St Josephs Day (Regional) | 59 | $result = $holiday->holidayName($icsEvent->date,$lang); $t->check($result, $result !== false AND $result != "?"); |
[1.7 ms] 'St. Joseph\'s' |
Ok |
2017-04-07 Switzerland Näfelser Fahrt (Regional) | 59 | $result = $holiday->holidayName($icsEvent->date,$lang); $t->check($result, $result !== false AND $result != "?"); |
[1.6 ms] false |
Error |
Edit 12.Juni 2018:
Das Beispiel für eine Konfigurations-Datenbank JspitHoliday.sqlite (hier) unterstützt jetzt folgende Länder:
"DE":Germany, "AT":Austria, "NL":Netherlands, "DK": Denmark, "FR":France, "IT":Italy(*), "ES":Spain(*), "LU":Luxembourg, "BE":Belgium(*), "GR":Greece, "SK":Slovakia, "IE":Ireland, "CY":Cyprus, "PT":Portugal, "EE":Estonia, "FI":Finland, "LV":Latvia, "LT":Lithuania, "MT":Malta "CZ":Czech Republic, "PL":Poland, "CH":Switzerland, "GB":Great Britain(*), "US":United States(*), "JP":Japan
(*) without regional holidays
Die Feiertagsnamen sind alle in Englisch verfügbar, für DE,AT und CH auch in Deutsch.
Kommentar