Gast: Feiertage ermitteln - abhängig vom Standort

Hi,

ich bin gerade dabei, eine Funktion zu programmieren, die für Europa den Feiertag eines Datums / Landes / Region zurückgibt.

Beispiel fixe (mm-tt):
'11-01','D', 'BW'  ==> 'Allerheiligen'
'11-01','D', 'HE'  ==> ''
'01-01','D', ''    ==> 'Neujahr'
'01-01','F', ''    ==> 'Jour de l'An'
'08-01','CH',''    ==> 'Nationalfeiertag'

Beispiel variable (jjjj-mm-tt):
'2011-04-25','A', '' ==> 'Ostermontag'
'2011-04-25','CH','' ==> 'Ostermontag'
'2011-04-25','D', '' ==> 'Ostermontag'
'2011-04-25','F', '' ==> 'Lundi de Pâques'

Ist natürlich ein Wahnsinns-Aufwand. Gibt's das schon irgendwo? Hat vielleicht PHP eine fertige Funktion?

Gibt es irgendwelche Besonderheiten? Etwa halbe Feiertage (kenne ich für Heiligabend und Silvester) oder sonstwas?

LG Gast

  1. @@Gast:

    nuqneH

    Beispiel variable (jjjj-mm-tt):
    '2011-04-25','A', '' ==> 'Ostermontag'
    '2011-04-25','CH','' ==> 'Ostermontag'
    '2011-04-25','D', '' ==> 'Ostermontag'
    '2011-04-25','F', '' ==> 'Lundi de Pâques'

    Für Ostern gibt es die Gaußsche Osterformel. Himmelfahrt und Pfingsten sind an Ostern gekoppelt.

    Ich würde die kontextspezifischen Länderkürzel verwenden (AT, CH, DE, FR); der Kontext ist hier nicht KFZ.

    Zu überlegen ist auch, die Benennung von Feiertagen nicht an die Länder zu hängen, sondern an die Sprachen. In der Schweiz wird übrigens nicht nur Deutsch gesprochen.

    Qapla'

    --
    Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
    (Mark Twain)
    1. Hallo, Qapla'

      Ich würde die kontextspezifischen Länderkürzel verwenden (AT, CH, DE, FR); der Kontext ist hier nicht KFZ.

      Sind die Länder- und Kfz-Kürzel austauschbar?

      Ich habe die Adressen zu den Terminen. Die sind natürlich mit Postcode = Kfz-Code abgelegt.

      Zu überlegen ist auch, die Benennung von Feiertagen nicht an die Länder zu hängen, sondern an die Sprachen. In der Schweiz wird übrigens nicht nur Deutsch gesprochen.

      Was haben Feiertage mit Sprachen zu tun? Mein deutschländisches Beispiel zeigt doch, dass Allerheiligen in BW (Baden-Württemberg) ein Feiertag ist, in HE (Hessen) aber nicht.

      Und wenn die deutschsprechenden Schweizer ihren 01.08. feiern, müssen die NAchbarn mit derselben Sprache in Konstanz schaffen.

      Aber eigentlich ist genau das meine Frage: Was muss ich regional beachten? Ich will allerdings nicht für jedes Kaff extra Feiertage hinterlegen. Also diese depperten "nur für bayerische Orte mit überwiegend evangelischer Bevölkerung" muss ich nicht lösen.

      Aber den Ramadahn in Bosnien würde ich im Prinzip berücksichtigen.

      Sooo ungewöhnlich kann mein Vorhaben soch nicht sein.

      Gast

      1. Also diese depperten "nur für bayerische Orte mit überwiegend evangelischer Bevölkerung" muss ich nicht lösen.

        Naja, man soll nie nie sagen. Ich werde der Funktion noch den Parameter ort_id verpassen. Der bleibt aber erstmal leer.

        Es gibt Käffer, da bekommst du am Kerwemontag niemanden ans Telefon.

        Gast

        1. Also diese depperten "nur für bayerische Orte mit überwiegend evangelischer Bevölkerung" muss ich nicht lösen.

          Naja, man soll nie nie sagen. Ich werde der Funktion noch den Parameter ort_id verpassen. Der bleibt aber erstmal leer.

          Ah, mit dieser id kannst du dich bei der Bearbeitung der schweizer Feiertage reichlich austoben, dort ist die überwiegende Anzahl der Feiertage kantonsbezogen, und selbst dort nicht unbedingt einheitlich:
          http://de.wikipedia.org/wiki/Feiertage_in_der_Schweiz

          bye

          MH

          --
          war unregistriert "michaa"
      2. Om nah hoo pez nyeetz, Gast!

        Aber eigentlich ist genau das meine Frage: Was muss ich regional beachten? Ich will allerdings nicht für jedes Kaff extra Feiertage hinterlegen. Also diese depperten "nur für bayerische Orte mit überwiegend evangelischer Bevölkerung" muss ich nicht lösen.

        ohne den Schweizern zu nahe treten zu wollen: Schau dir mal ihre Feiertagsregelungen an ...

        Matthias

        --
        http://www.billiger-im-urlaub.de/kreis_sw.gif
      3. Hi!

        Was haben Feiertage mit Sprachen zu tun?

        Ihr Name ist sprachspezifisch, nicht wann und wo sie stattfinden. Das heißt, du brauchst nicht nur Land, Region und Datum sondern auch noch die Sprache, und dann kannst du einen Namen zuordnen.

        Gibt es irgendwelche Besonderheiten? Etwa halbe Feiertage (kenne ich für Heiligabend und Silvester) oder sonstwas?

        Halbe Feiertage gibt es hierzulande nicht, soweit ich weiß. Heiligabend und Silvester sind keine Feiertage. Es gibt lediglich in manchen Firmen individuelle Reglungen, diese Tage mit einem halben Urlaubstag zu verrechnen.

        Einige Feiertage sind auch noch weiter örtlich eingeschränkt als bis zum Bundesland hinunter. Das Augsburger Friedensfest und einige katholische Feiertage in sorbischen Ortschaften wären Beispiele. Diese Ausnahmen findest du aber alle, wenn du mit offenen Augen bei deiner "Konkurrenz" vorbeischaust.

        In einigen Ländern werden Feiertage verschoben (oder zumindest das Arbeitsfrei nachgeholt), wenn sie auf einen sowieso schon freien Tag fallen. Weiterhin ist in manchen Gegenden der Freitag der Sonntag.

        Lo!

        1. Hallo,

          Gibt es irgendwelche Besonderheiten? Etwa halbe Feiertage (kenne ich für Heiligabend und Silvester) oder sonstwas?
          Halbe Feiertage gibt es hierzulande nicht, soweit ich weiß. Heiligabend und Silvester sind keine Feiertage. Es gibt lediglich in manchen Firmen individuelle Reglungen, diese Tage mit einem halben Urlaubstag zu verrechnen.

          das ist AFAIK nicht (d.h. nicht nur) eine individuelle Regelung mancher Firmen, sondern eine Regelung der meisten Tarifverträge, an die viele Firmen gebunden sind. Und viele weitere orientieren sich unverbindlich daran.

          In einigen Ländern werden Feiertage verschoben (oder zumindest das Arbeitsfrei nachgeholt), wenn sie auf einen sowieso schon freien Tag fallen.

          Das sollte man bei uns auch mal einführen!

          Ciao,
           Martin

          --
          Eifersucht ist so alt wie die Menschheit: Als Adam einmal spät heimkam, zählte Eva sofort seine Rippen.
          Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
        2. Om nah hoo pez nyeetz, dedlfix!

          Einige Feiertage sind auch noch weiter örtlich eingeschränkt als bis zum Bundesland hinunter. Das Augsburger Friedensfest und einige katholische Feiertage in sorbischen Ortschaften wären Beispiele.

          Da ich in "Sorbien" aufgewachsen bin, bin ich relativ sicher, dass es "einige katholische Feiertage" so wie es du es schreibst, nicht gibt. Was du meinst, sind die sächsischen Regelungen zum Buß- und Bettag. Extremes Beispiel: Mein bester Freund wohnt in Wartha, seine Mutter arbeitet in Königswarta. Sie darf also den Buß- und Bettag genießen. Er hingegen nicht.

          Diese Ausnahmen findest du aber alle, wenn du mit offenen Augen bei deiner "Konkurrenz" vorbeischaust.

          Ich meld' mich mal freiwillig als "Konkurrenz". Allerdings steckt in dieser Seite Handarbeit.

          Matthias

          --
          http://www.billiger-im-urlaub.de/kreis_sw.gif
          1. Hi!

            Einige Feiertage sind auch noch weiter örtlich eingeschränkt als bis zum Bundesland hinunter. Das Augsburger Friedensfest und einige katholische Feiertage in sorbischen Ortschaften wären Beispiele.
            Da ich in "Sorbien" aufgewachsen bin, bin ich relativ sicher, dass es "einige katholische Feiertage" so wie es du es schreibst, nicht gibt.

            Wikipedia: Liste der Feiertage in Deutschland - Siehe Fronleichnam Fußnote 1. Uns siehe da, diese Reglung trifft auch andere Feiertage und Bundesländer, beispielsweise Mariä Himmelfahrt in Bayern.

            Was du meinst, sind die sächsischen Regelungen zum Buß- und Bettag.

            Nein, das ist ein landesweiter Feiertag in Sachsen, nicht nur in Teilen davon.

            Extremes Beispiel: Mein bester Freund wohnt in Wartha, seine Mutter arbeitet in Königswarta. Sie darf also den Buß- und Bettag genießen. Er hingegen nicht.

            Diese beiden Gemeinden haben wie alle anderen sächsischen Gemeinden den Buß- und Bettag. Allerdings könntest du Fronleichnam gemeint haben.

            Diese Ausnahmen findest du aber alle, wenn du mit offenen Augen bei deiner "Konkurrenz" vorbeischaust.
            Ich meld' mich mal freiwillig als "Konkurrenz". Allerdings steckt in dieser Seite Handarbeit.

            Na, dann schau dir mal da die/deine Anmerkungen zum BB-Tag und zu Happy Kadaver an ... :-)

            Lo!

            1. Om nah hoo pez nyeetz, dedlfix!

              ... Allerdings könntest du Fronleichnam gemeint haben.

              genau, mein Fehler.

              Im Siedlungsgebiet der Sorben[1] gilt aber dennoch nur die Regelung für den Fronleichnam. Dass es auch für andere Feiertage und andere Bundesländer ähnliche Regelungen gibt, habe ich nicht bestritten.

              [1] stimmt so auch nicht, da auch im Süden Brandenburgs Sorben leben. Nur so nebenbei: Dort sind die Orts- (und teilweise auch) Straßenschilder zweisprachig.

              Matthias

              --
              http://www.billiger-im-urlaub.de/kreis_sw.gif
              1. @@Matthias Apsel:

                nuqneH

                Nur so nebenbei: Dort sind die Orts- (und teilweise auch) Straßenschilder zweisprachig.

                Und da sage nochmal jemand, ISO 8859-1 wäre für Deutschland völlig ausreichend.

                Qapla'

                --
                Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
                (Mark Twain)
                1. Dobry zen!

                  Und da sage nochmal jemand, ISO 8859-1 wäre für Deutschland völlig ausreichend.

                  Ist es doch schon wegen ‑ – ‚ ‘ „ “ … ‽ und anderen nicht. ;-)

                  Viele Grüße vom Længlich

                  --
                  Mein aktueller Gruß ist:
                  Niedersorbisch
      4. @@Gast:

        nuqneH

        Ich habe die Adressen zu den Terminen. Die sind natürlich mit Postcode = Kfz-Code abgelegt.

        Wieso „natürlich“?

        „Seit Ende der 1990er Jahre wird [die] Verwendung [von Ländercodes] nicht mehr empfohlen.
        […] es hat sich aber mittlerweile die Ansicht durchgesetzt, den Ländercode durch den ausgeschriebenen und in der letzten Anschriftzeile alleine stehenden Ländernamen in Großbuchstaben zu ersetzen (vgl. auch DIN-5008-Musterbrief). Die Deutsche Post verlangt dies sogar.“ [Wikipedia]

        Zu überlegen ist auch, die Benennung von Feiertagen nicht an die Länder zu hängen, sondern an die Sprachen. In der Schweiz wird übrigens nicht nur Deutsch gesprochen.

        Was haben Feiertage mit Sprachen zu tun?

        Feiertage haben mit Ländern, sogar mit Regionen zu tun. Was haben Länder mit Sprachen zu tun?

        Die _Benennung_ von Feiertagen hat mit Sprachen zu tun.

        Wenn du Kalendarium (landes-/regionalspezifisch) und Sprache (nutzerspezifisch) trennst, erschlägst du nicht nur die mehrsprachige Schweiz, sondern ermöglichst es auch einem in Deutschland lebenden Französischsprecher, die hiesigen Feiertage in seiner Sprache angezeigt zu bekommen. Und einem in Frankreich lebenden Deutschsprecher, die dortigen Feiertage in seiner Sprache angezeigt zu bekommen.

        Qapla'

        --
        Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
        (Mark Twain)