Ankündigung

Einklappen
Keine Ankündigung bisher.

Feiertage erkennen

Einklappen
Dieses Thema ist geschlossen.
X
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • makki
    antwortet
    Nur der Vollständigkeit halber, hatte ich mal gebookmarked: hier gibts die Feiertage pro Land als CSV und für Outlook..

    Makki

    Einen Kommentar schreiben:


  • Robert_Mini
    antwortet
    Erledigt!

    Code:
    apt-get install libdate-calc-perl
    löst das Problem. lg Robert

    Einen Kommentar schreiben:


  • Robert_Mini
    antwortet
    Zitat von Bodo Beitrag anzeigen
    Hoi
    (perl: Easter_Sunday() (Modul Date::Calc))

    Sehr gut: PS-Trainer
    Danke für die Hinweise. Der Link ist wirklich perfekt.

    Werde diese Anwendung nutzen um mich ein wenig weiter in perl einzuarbeiten (und dann hier im Forum einstellen)

    Dazu hab ich gleich noch eine Frage. Wie kann man am WG Zusatzfunktionen einbinden? Folgender code
    Code:
    use Date::Calc qw(Add_Delta_Days);
    ($y2, $m2, $d2) = Add_Delta_Days($y, $m, $d, $offset);
    liefert nachstehenden Fehler:
    HTML-Code:
    Can't locate Date/Calc.pm in @INC (@INC contains: /etc/perl 
     /usr/local/lib/perl/5.10.0 /usr/local/share/perl/5.10.0 /usr/lib/perl5  
    /usr/share/perl5 /usr/lib/perl/5.10 /usr/share/perl/5.10  /usr/local/lib/site_perl .) 
    at (eval 117096) line 4. BEGIN failed--compilation aborted at (eval 117096) line 4.
    Danke
    Robert

    Einen Kommentar schreiben:


  • Fry
    antwortet
    Im Logikprozessor (->SVN) ist auch eine kleine Routine fürs Osterdatum drin, die kannst du verwenden. Sie beruht letztlich auf der Gauss/Lichtenberg-Formel und ist getestet; Ergebnisse stimmen für mindestens 100 Jahre nach vorn und hinten.
    VG, Fry

    Einen Kommentar schreiben:


  • kisenberg
    antwortet
    Zitat von Robert_Mini Beitrag anzeigen
    machen und zusätzlich ein Array mit den variablen Feiertagen wie Ostern etc., das man dann von hand 1x jährlich anpassen muss.
    Ich hab mal für ein Web-Projekt einen Kalender erstellt. Für die variablen Feiertage verwendest Du am besten die https://de.wikipedia.org/wiki/Gau%C3%9Fsche_Osterformel

    In VBScript sähe das bspw. so aus:
    Code:
    Function GetEasterSunday(ByRef intYear)
        Dim d0
        Dim d1
        Dim d2
        Dim d3
        Dim d4
        Dim d5
        Dim d6
        Dim d7
        Dim d8
        Dim d9
        
        If intYear = 0 Then
            intYear = Year(Date())
        End If
        
        d0 = Int(intYear / 100)
        d1 = 15 + Int((3 * d0 + 3) / 4) - Int((8 * d0 + 13) / 25)
        d2 = 2 - Int((3 * d0 + 3) / 4)
        d3 = intYear Mod 19
        d4 = (19 * d3 + d1) Mod 30
        d5 = Int(d4 / 29) + (Int(d4 / 28) - Int(d4 / 29)) * Int(d3 / 11)
        d6 = Int(21 + d4 - d5)
        d7 = 7 - (intYear + Int(intYear / 4) + d2) Mod 7
        d8 = 7 - (d6 - d7) Mod 7
        d9 = d6 + d8
        GetEasterSunday = DateSerial(intYear, 3, d9)
    End Function
    Zurück bekommst Du den Ostersonntag, von dem Du die restlichen Feiertage ableiten kannst.

    Code:
    For intYear = Year(arrDate(0)) To Year(arrDate(1))
            dtmEasterSunday = GetEasterSunday(intYear)
            arrPeriodeYearHolidays(intPeriodeYearHolidays) = dtmEasterSunday
            arrPeriodeYearHolidays(intPeriodeYearHolidays + 1) = DateAdd("D", -2, dtmEasterSunday)
            arrPeriodeYearHolidays(intPeriodeYearHolidays + 2) = DateAdd("D", 1, dtmEasterSunday)
            arrPeriodeYearHolidays(intPeriodeYearHolidays + 3) = DateAdd("D", 39, dtmEasterSunday)
            arrPeriodeYearHolidays(intPeriodeYearHolidays + 4) = DateAdd("D", 49, dtmEasterSunday)
            arrPeriodeYearHolidays(intPeriodeYearHolidays + 5) = DateAdd("D", 50, dtmEasterSunday)
            arrPeriodeYearHolidays(intPeriodeYearHolidays + 6) = DateAdd("D", 60, dtmEasterSunday)
            arrPeriodeYearHolidays(intPeriodeYearHolidays + 7) = DateSerial(intYear, 1, 1)
            arrPeriodeYearHolidays(intPeriodeYearHolidays + 8) = DateSerial(intYear, 1, 6)
            arrPeriodeYearHolidays(intPeriodeYearHolidays + 9) = DateSerial(intYear, 5, 1)
            arrPeriodeYearHolidays(intPeriodeYearHolidays + 10) = DateSerial(intYear, 10, 3)
            arrPeriodeYearHolidays(intPeriodeYearHolidays + 11) = DateSerial(intYear, 12, 25)
            arrPeriodeYearHolidays(intPeriodeYearHolidays + 12) = DateSerial(intYear, 12, 26)
            intPeriodeYearHolidays = intPeriodeYearHolidays + 13
        Next
    Beachte noch die unterschiedlichen Feiertage der einzelnen Bundesländer (Übersicht bundeseinheitlicher Feiertage in Deutschland.).

    Einen Kommentar schreiben:


  • Bodo
    antwortet
    Hoi

    Es gibt in verschiedenen Programmiersprachen eine Formel für bewegliche Feiertage.
    (php: Funktion easter_date() ) (perl: Easter_Sunday() (Modul Date::Calc))
    Von Ostern lassen sich die anderen beweglichen Feiertage einfach ableiten (plus oder minus x Tage)

    Sehr gut: PS-Trainer

    Oster-Formel mit Perl

    Funktion Easter_Sunday()

    Die Programmiersprache → Perl bietet im Modul Date::Calc die Funktion Easter_Sunday()
    Vom Modul Date werden entweder alle Funktionen (hier mit Kommentar abtgeschaltet) oder nur die verwendete Funktion in das Programm eingebunden.
    Die Funktion erhält als Argument das gesuchte Jahr und liefert eine Liste von 3 Zahlen (Jahr,Monat,Tag) des Ostersonntags.
    oder tutorials ostern berechnen php

    Einen Kommentar schreiben:


  • Robert_Mini
    hat ein Thema erstellt [wiregate] Feiertage erkennen.

    Feiertage erkennen

    Hallo zusammen!

    Ich verwende für einige Funktionen auch eine Unterscheidung ob Wochentag/Wochenende und möchte dies nun mittels WG auf Feiertage erweitern.

    Ich würde gerne ein Array mit den allgemeinen Feiertage (25.12, 1.1., etc.) machen und zusätzlich ein Array mit den variablen Feiertagen wie Ostern etc., das man dann von hand 1x jährlich anpassen muss.

    Wie habt ihr das gelöst?
    Hat schon jemand aus der aktuellen time() das Datum berechnet bzw. wie macht man am einfachsten den Vergleich (heute == 8.12.) unabhängig vom Jahr?

    Danke für eure Anregungen,
    lg Robert M.
Lädt...
X