Feiertage in MySQL

Feiertage in MySQL

am 06.06.2005 19:16:25 von Steffen Boehme

Hallo,

kann mir wer sagen, ob es in MySQL schon vorgefertigt irgendeine
Möglichkeit gibt, Feiertage (in bestimmten Bundesländern wenns ginge)
abzufragen, um sie halt mit gespeicherten Datums zu vergleichen!?

Ich denke ja es geht nicht und ich muss ne eigene Tabelle anlegen, wo
die drinne stehen, aber vielleicht irre ich mich ja auch ;-).

Steffen

Re: Feiertage in MySQL

am 06.06.2005 20:34:23 von Andreas Kretschmer

Andreas
--
Diese Message wurde erstellt mit freundlicher Unterstützung eines freilau-
fenden Pinguins aus artgerechter Freilandhaltung. Er ist garantiert frei
von Micro$oft'schen Viren. (#97922 http://counter.li.org) GPG 7F4584DA
Was, Sie wissen nicht, wo Kaufbach ist? Hier: N 51.05082°, E 13.56889° ;-)

Re: Feiertage in MySQL

am 06.06.2005 20:43:29 von Steffen Boehme

Andreas Kretschmer schrieb:
> begin Steffen Boehme wrote:
>
>>Ich denke ja es geht nicht und ich muss ne eigene Tabelle anlegen, wo
>>die drinne stehen, aber vielleicht irre ich mich ja auch ;-).
>
>
> Ich kann Dich beruhigen...
>
>
> end
> Andreas


Schade ...

Steffen

Re: Feiertage in MySQL

am 07.06.2005 12:21:43 von Frank Wiesner

"Steffen Boehme" schrieb im Newsbeitrag
news:42a484ea$0$14730$9b4e6d93@newsread4.arcor-online.net...

> Ich denke ja es geht nicht und ich muss ne eigene Tabelle anlegen, wo
> die drinne stehen, aber vielleicht irre ich mich ja auch ;-).
>

Alle gesetzlichen Feiertage lassen sich berechnen (googeln hilft). Statt
eine Tabelle auszufüllen sollte sich also eine Funktion schreiben lassen.

Gruß Frank

Re: Feiertage in MySQL

am 10.06.2005 14:02:11 von Frank Arthur

> Alle gesetzlichen Feiertage lassen sich berechnen (googeln hilft). Statt
> eine Tabelle auszufüllen sollte sich also eine Funktion schreiben lassen.

Die Funktionen zur Datumsberechnung sind wirklich nicht das Problem.
Du kannst sie z.B. hier finden:
http://fobit.com/code/date/index.php

Zwei andere Probleme gibt es:

1. Wie sind die Feiertage definiert, damit ich sie mit diesen
Funktionen berechnen kannt.

2. Welche Feiertage gelten in welchen Bundesländern.

Hier eine Liste (CVS-Datei) der bundesweiten Feiertage:

Name;Type;Base;Month;Day;FirstYear;LastYear;Settings
Neujahr;Feiertag;Daum;1;1;0;9999;
Maifeiertag;Feiertag;Daum;5;1;1400;1932;
Tag der nationalen Arbeit;Feiertag;Daum;5;1;1933;1945;
Maifeiertag;Feiertag;Daum;5;1;1946;9999;
Tag der Deutschen Einheit;Feiertag;Daum;6;17;1953;1989;
Tag der Deutschen Einheit;Feiertag;Daum;10;3;1990;9999;
Nikolaus;;Daum;12;6;1500;9999;
Heiligabend;;Daum;12;24;336;9999;
1. Weihnachtstag;Feiertag;Daum;12;25;336;9999;
2. Weihnachtstag;Feiertag;Daum;12;26;336;9999;
Silvester;;Daum;12;31;0;9999;
Valentinstag;;Daum;2;14;0;9999;
Reformationstag;;Daum;10;31;0;9999;
Allerheiligen;;Daum;11;1;800;9999;
Ostersonntag;Feiertag;Ostern;0;0;325;9999;
Karfreitag;Feiertag;Ostern;0;0;325;9999;-2
Ostermontag;Feiertag;Ostern;0;0;325;9999;1
Christi Himmelfahrt;Feiertag;Ostern;0;0;300;9999;39
Vatertag;;Ostern;0;0;0;9999;39
Pfingstsonntag;Feiertag;Ostern;0;0;200;9999;49
Pfingstmontag;Feiertag;Ostern;0;0;200;9999;50
Muttertag;;Muttertag;0;0;1933;9999;
4. Advent;Feiertag;Datum;12;24;0;9999;7
3. Advent;Feiertag;Datum;12;24;0;9999;7-7
2. Advent;Feiertag;Datum;12;24;0;9999;7-14
1. Advent;Feiertag;Datum;12;24;0;9999;7-21
Buß- und
Bettag;Feiertag;Datum;12;24;0;1994;7-32
Volkstrauertag;Feiertag;Datum;12;24;1952;9999;7-35
Beginn der Sommerzeit (Uhr
vorstellen);;Datum;3;31;1980;9999;7
Beginn der Winterzeit (Uhr
zurückstellen);;Datum;10;31;1980;9999;7
Heilige Drei Könige;;festes Datum;1;6;0;9999;
Mariä Himmelfahrt;;festes Datum;8;15;0;9999;
Halloween;;festes Datum;10;31;0;9999;
St. Martin (Laternenumzug);;festes Datum;11;1;397;9999;
Buß- und Bettag;;Datum;12;24;1995;9999;7-32
Rosenmontag;;Ostern;0;0;1830;9999;-48
Aschermittwoch;;Ostern;0;0;0;9999;-46
Gründonnerstag;;Ostern;0;0;1300;9999;-3
Fronleichnam;;Ostern;0;0;1264;9999;60
Totensonntag;;Datum;12;24;0;9999;7-28

So benutzt du sie:
Wenn Base auf Datum steht, gehst du vom angegebenen Datum aus,
ansonsten von Ostern oder Muttertag. Steht unter Settings nix, hast du
das Datum schoch fertig, ansonsten musst du es noch verändern. Steht
unter Settings musst du es auf den angegebenen Wochentag im
Datum rückwärts verschieben (wenn es nicht schon auf diesem Tag
liegt), 7 ist Sonntag. Steht unter Settings musst du es um die
angegebene anzahl Tage verschieben.

Wie du allerdings herausfindest, welche Feiertage in welchen
Bundesländern zusätzlich noch gelten, kann ich dir nicht sagen.