Ankündigung

Einklappen
Keine Ankündigung bisher.

Feiertage ermitteln mit PHP-Funktion - brauche dringend Hilfe

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Feiertage ermitteln mit PHP-Funktion - brauche dringend Hilfe

    Hallo,

    ich habe vor einigen Jahren eine mit PHP realisierte Anwesenheitsliste von meinem Vorgänger übernommen. Mir ist nun aufgefallen, dass die beweglichen Feiertage wie Ostern und Pfingsten nicht mehr entsprechend in der eingebauten Kalenderfunktion angezeigt werden, die festen Feiertage funktionieren. Ich habe leider nicht das erforderliche Know-How um hier Korrekturen vorzunehmen und hoffe jemand von euch kann mir hier helfen.

    Die entsprechende Funktion scheine ich gefunden zu haben:

    PHP-Code:
    <?php
    function feiertag ($jahr,$monat,$tag,$wtag,$today) {

    // Feiertage BERLIN !!!!!!!!!!!!!!!!!
    // ==================================
    // regelmäßige Feiertage
    $IsFt 0;
    switch (
    $monat) {
    case 
    1:
    $IsFt = ($tag == 1);
    break;
    // case 2:
    // case 3:
    // case 4:
    case 5:
    $IsFt = ($tag == 1);
    break;
    // case 6:
    // case 7:
    // case 8:
    // case 9:
    case 10:
    $IsFt = ($tag == 3);
    break;
    // case 11:
    case 12:
    $IsFt = ($tag == 25) || ($tag == 26);
    break;
    }


    if (!
    $IsFt // ist schon Feiertag
    && ($wtag != 3// Dienstag und Mittwoch entfällt
    && ($wtag != 4)
    && (
    <= $monat// relevante Monate für BERLIN
    && ($monat <= 6// ======
    && (2000 <= $jahr// Güligkeit der Ostertabelle
    && ($jahr <= 2035)
    ) {

    // http://www.ibiblio.org/ais/osterndt.htm
    // Beginnt mit 2000 und endet mit 2035. Das sollte ausreichend sein.

    $ListeOstern =array('04-23',
    '04-15','03-31','04-20','04-11','03-27',
    '04-16','04-08','03-23','04-12','04-04',
    '04-24','04-08','03-31','04-20','04-05',
    '03-27','04-16','04-01','04-21','04-12',
    '04-04','04-17','04-09','03-31','04-20',
    '04-05','03-28','04-16','04-01','04-21',
    '04-13','03-28','04-17','04-09','03-25');
    $ostern $ListeOstern[$jahr 2000];
    $om substr($ostern,0,2);
    $od substr($ostern,3,2);



    $ostern mktime(0,0,0,$om,$od,$jahr,0);
    // Karfreitag
    $IsFt $ostern-2*86400+3600 == $today//20161026 SB: +3600 wegen der Umstellung von Sommerzeit auf Winterzeit hinzugefügt
    if ($IsFt) return($IsFt);
    // Ostermontag
    $IsFt $ostern+1*86400+3600 == $today//20161026 SB: +3600 wegen der Umstellung von Sommerzeit auf Winterzeit hinzugefügt
    if ($IsFt) return($IsFt);
    // Pfingstmontag
    $IsFt $ostern+(7*7+1)*86400+3600 == $today//20161026: +3600 wegen der Umstellung von Sommerzeit auf Winterzeit hinzugefügt
    if ($IsFt) return($IsFt);
    // Himmelfahrt
    $IsFt $ostern+(5*7+4)*86400+3600 == $today//20161026: +3600 wegen der Umstellung von Sommerzeit auf Winterzeit hinzugefügt
    if ($IsFt) return($IsFt);
    }
    return(
    $IsFt); }
    Kann mir hier jemand aus der Ferne helfen? Ich bin mit meinem Latein am Ende

    Viele Grüße
    Erik

  • #2
    Ist ja nicht so, als gäbe es hier im Forum schon zahlreiche Feiertage-Threads und sogar eine sehr umfangreiche Feiertags-Klasse von einem Foren-User...

    https://github.com/hausl/holiday-calendar

    Kommentar


    • #3
      Hier wäre noch eine, ebenfalls von einem Forenuser jspit die das im Grund auch kann. https://github.com/jspit-de/dt -> dort nach "holiday" suchen.
      The string "()()" is not palindrom but the String "())(" is.

      Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
      PHP.de Wissenssammlung | Kein Support per PN

      Kommentar


      • #4
        Wenn du Composer verwendest, dann gibt es zB auch hier einige Libraries: https://packagist.org/?q=holiday
        The string "()()" is not palindrom but the String "())(" is.

        Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
        PHP.de Wissenssammlung | Kein Support per PN

        Kommentar


        • #5
          Ebenfalls von einem Forenuser : Niirrty.Holiday !

          Kommentar

          Lädt...
          X