Guten Tag!
Meine heutigen Fragen lauten:
1. Gibt es in python Algorithmen (bzw. Funktionen, bzw. Codeschnipsel) zur Berechnung deutscher Feiertage und wo finde ich diese?
2. Gibt es Kalendermodule mit deutschen Feiertagen in Anzeige und Auswahl zur Weiterverarbeitung?
Danke für Eure/Ihre Auskünfte!
Berechnung dt. Feiertage und Darstellung (Qt)
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Du bist nicht der erste der danach fragt.THinhK hat geschrieben:1. Gibt es in python Algorithmen (bzw. Funktionen, bzw. Codeschnipsel) zur Berechnung deutscher Feiertage und wo finde ich diese?
Was meinst du damit? Fertige Listen mit Feiertagen? Ja.THinhK hat geschrieben:2. Gibt es Kalendermodule mit deutschen Feiertagen in Anzeige und Auswahl zur Weiterverarbeitung?
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Hi, ...
Folgendes könnte ich mir darunter vorstellen:
http://www.feiertagskalender.ch/cal.php ... =5&lang=de,
http://www.feiertagskalender.ch/index.p ... =5&lang=de,
http://www.feiertagskalender.ch/index.p ... =3&lang=de
Wie muß der Code aussehen um HTML über python zu generieren?
Folgendes könnte ich mir darunter vorstellen:
http://www.feiertagskalender.ch/cal.php ... =5&lang=de,
http://www.feiertagskalender.ch/index.p ... =5&lang=de,
http://www.feiertagskalender.ch/index.p ... =3&lang=de

Wie muß der Code aussehen um HTML über python zu generieren?
Guten Tag!
zu
Möchte eine Kalender funtion benutzen um Kalenderangaben darzustellen, deren Tage (Feitertage, Wochenendtage, Termine) farblich gekennzeichnet sind und die wenn dargestellt anklickbar sind und dann den ausgewählten Tag zurückliefern.
Dazu würde ich gern Hilfe erhalten! Wie könnte so ein Codeschnippsel aussehen?
zu
Code: Alles auswählen
Was meinst du damit? Fertige Listen mit Feiertagen? Ja.
Dazu würde ich gern Hilfe erhalten! Wie könnte so ein Codeschnippsel aussehen?
Sorry war als Gast angemeldet!Anonymous hat geschrieben:Guten Tag!
zu
Was meinst du damit? Fertige Listen mit Feiertagen? Ja.
Möchte eine Kalender funtion benutzen um Kalenderangaben darzustellen, deren Tage (Feitertage, Wochenendtage, Termine) farblich gekennzeichnet sind und die wenn dargestellt anklickbar sind und dann den ausgewählten Tag zurückliefern.
Dazu würde ich gern Hilfe erhalten! Wie könnte so ein Codeschnippsel aussehen?
Hi,
folgendes kann ich zwar HTML von folgender Quelle erhalten (http://home.arcor.de/g-boll), möchte das ganze aber durch pythen generieren lassen und zwar wahlfrei für Monat, Jahr.

folgendes kann ich zwar HTML von folgender Quelle erhalten (http://home.arcor.de/g-boll), möchte das ganze aber durch pythen generieren lassen und zwar wahlfrei für Monat, Jahr.
Code: Alles auswählen
<html>
<head>
<title>Kalender</title>
</head>
<body
style="color: rgb(51, 102, 0); background-color: rgb(255, 255, 204);">
<div align="center">
<table bgcolor="#ccccff" border="1" cellpadding="0" width="370">
<tbody>
<tr>
<th colspan="2" align="center"><font size="5"><b>Monatskalender
2005</b></font></th>
</tr>
<tr align="center">
<th colspan="2" bgcolor="#009900" width="370"><font
color="#ffffff">Oktober </font></th>
</tr>
<tr align="center">
<td bgcolor="#99ccff" width="30"><font color="#660000"><b>Sa. 1. </b></font></td>
<td bgcolor="#99ccff" width="340"><font color="#660000"><br>
</font></td>
</tr>
<tr align="center">
<td bgcolor="#ff99ff" width="30"><font color="#000066"><b>So. 2. </b></font></td>
<td bgcolor="#ff99ff" width="340"><font color="#000066"><br>
</font></td>
</tr>
<tr align="center">
<td bgcolor="#ff66ff" width="30"><font color="#990000"><b>Mo. 3. </b></font></td>
<td bgcolor="#ff66ff" width="340"><font color="#990000">Tag d.
dt. Einheit<br>
<font color="#000000">40. KW</font></font></td>
</tr>
<tr align="center">
<td bgcolor="#ffffff" width="30"><font color="#000000"><b>Di. 4. </b></font></td>
<td bgcolor="#ffffff" width="340"><font color="#000000"><br>
</font></td>
</tr>
<tr align="center">
<td bgcolor="#ffffff" width="30"><font color="#000000"><b>Mi. 5. </b></font></td>
<td bgcolor="#ffffff" width="340"><font color="#000000"><br>
</font></td>
</tr>
<tr align="center">
<td bgcolor="#ffffff" width="30"><font color="#000000"><b>Do. 6. </b></font></td>
<td bgcolor="#ffffff" width="340"><font color="#000000"><br>
</font></td>
</tr>
<tr align="center">
<td bgcolor="#ffffff" width="30"><font color="#000000"><b>Fr. 7. </b></font></td>
<td bgcolor="#ffffff" width="340"><font color="#000000"><br>
</font></td>
</tr>
<tr align="center">
<td bgcolor="#99ccff" width="30"><font color="#660000"><b>Sa. 8. </b></font></td>
<td bgcolor="#99ccff" width="340"><font color="#660000"><br>
</font></td>
</tr>
<tr align="center">
<td bgcolor="#ff99ff" width="30"><font color="#000066"><b>So. 9. </b></font></td>
<td bgcolor="#ff99ff" width="340"><font color="#000066"><br>
</font></td>
</tr>
<tr align="center">
<td bgcolor="#ffffff" width="30"><font color="#000000"><b>Mo. 10.
</b></font></td>
<td bgcolor="#ffffff" width="340"><font color="#000000">41. KW<br>
</font></td>
</tr>
<tr align="center">
<td bgcolor="#ffffff" width="30"><font color="#000000"><b>Di. 11.
</b></font></td>
<td bgcolor="#ffffff" width="340"><font color="#000000"><br>
</font></td>
</tr>
<tr align="center">
<td bgcolor="#ffffff" width="30"><font color="#000000"><b>Mi. 12.
</b></font></td>
<td bgcolor="#ffffff" width="340"><font color="#000000"><br>
</font></td>
</tr>
<tr align="center">
<td bgcolor="#ffffff" width="30"><font color="#000000"><b>Do. 13.
</b></font></td>
<td bgcolor="#ffffff" width="340"><font color="#000000"><br>
</font></td>
</tr>
<tr align="center">
<td bgcolor="#ffffff" width="30"><font color="#000000"><b>Fr. 14.
</b></font></td>
<td bgcolor="#ffffff" width="340"><font color="#000000"><br>
</font></td>
</tr>
<tr align="center">
<td bgcolor="#99ccff" width="30"><font color="#660000"><b>Sa. 15.
</b></font></td>
<td bgcolor="#99ccff" width="340"><font color="#660000"><br>
</font></td>
</tr>
<tr align="center">
<td bgcolor="#ff99ff" width="30"><font color="#000066"><b>So. 16.
</b></font></td>
<td bgcolor="#ff99ff" width="340"><font color="#000066"><br>
</font></td>
</tr>
<tr align="center">
<td bgcolor="peachpuff" width="30"><font color="#000000"><b>Mo.
17. </b></font></td>
<td bgcolor="#ffffff" width="340"><font color="#000000">42. KW<br>
</font></td>
</tr>
<tr align="center">
<td bgcolor="peachpuff" width="30"><font color="#000000"><b>Di.
18. </b></font></td>
<td bgcolor="#ffffff" width="340"><font color="#000000"><br>
</font></td>
</tr>
<tr align="center">
<td bgcolor="peachpuff" width="30"><font color="#000000"><b>Mi.
19. </b></font></td>
<td bgcolor="#ffffff" width="340"><font color="#000000"><br>
</font></td>
</tr>
<tr align="center">
<td bgcolor="peachpuff" width="30"><font color="#000000"><b>Do.
20. </b></font></td>
<td bgcolor="#ffffff" width="340"><font color="#000000"><br>
</font></td>
</tr>
<tr align="center">
<td bgcolor="peachpuff" width="30"><font color="#000000"><b>Fr.
21. </b></font></td>
<td bgcolor="#ffffff" width="340"><font color="#000000"><br>
</font></td>
</tr>
<tr align="center">
<td bgcolor="peachpuff" width="30"><font color="#660000"><b>Sa.
22. </b></font></td>
<td bgcolor="#99ccff" width="340"><font color="#660000"><br>
</font></td>
</tr>
<tr align="center">
<td bgcolor="#ff99ff" width="30"><font color="#000066"><b>So. 23.
</b></font></td>
<td bgcolor="#ff99ff" width="340"><font color="#000066"><br>
</font></td>
</tr>
<tr align="center">
<td bgcolor="peachpuff" width="30"><font color="#000000"><b>Mo.
24. </b></font></td>
<td bgcolor="#ffffff" width="340"><font color="#000000">43. KW<br>
</font></td>
</tr>
<tr align="center">
<td bgcolor="peachpuff" width="30"><font color="#000000"><b>Di.
25. </b></font></td>
<td bgcolor="#ffffff" width="340"><font color="#000000"><br>
</font></td>
</tr>
<tr align="center">
<td bgcolor="peachpuff" width="30"><font color="#000000"><b>Mi.
26. </b></font></td>
<td bgcolor="#ffffff" width="340"><font color="#000000"><br>
</font></td>
</tr>
<tr align="center">
<td bgcolor="peachpuff" width="30"><font color="#000000"><b>Do.
27. </b></font></td>
<td bgcolor="#ffffff" width="340"><font color="#000000"><br>
</font></td>
</tr>
<tr align="center">
<td bgcolor="peachpuff" width="30"><font color="#000000"><b>Fr.
28. </b></font></td>
<td bgcolor="#ffffff" width="340"><font color="#000000"><br>
</font></td>
</tr>
<tr align="center">
<td bgcolor="peachpuff" width="30"><font color="#660000"><b>Sa.
29. </b></font></td>
<td bgcolor="#99ccff" width="340"><font color="#660000"><br>
</font></td>
</tr>
<tr align="center">
<td bgcolor="#ff99ff" width="30"><font color="#000066"><b>So. 30.
</b></font></td>
<td bgcolor="#ff99ff" width="340"><font color="#000066"><br>
</font></td>
</tr>
<tr align="center">
<td bgcolor="#ffffff" width="30"><font color="#000000"><b>Mo. 31.
</b></font></td>
<td bgcolor="#ffffff" width="340"><font color="#000000">44. KW<br>
</font></td>
</tr>
</tbody>
</table>
<table border="0" cellpadding="0" width="370">
<tbody>
<tr>
<td colspan="2" align="center"><font size="1">© 1999: Gerhard
Boll, Waldshut, Germany</font></td>
</tr>
</tbody>
</table>
</div>
</body>
</html>

Zuletzt geändert von THinhK am Montag 24. Oktober 2005, 09:56, insgesamt 1-mal geändert.
Guten Tag!
Ja, das ist vollkommen richtig!
Nur, wo erfrage ich dann zu eimen Thema, wie diesem etwas, unter dem Gesichtspunkt: Warum soll ich doppelt entwickeln, was andere schon in der Tache haben? Hier fehl mir ein Index auf Beipiele bzw. gelöste Aufgaben bzw. Themen die im Forum behandelt wurden, für die eine Lösung erarbeitet wurde. Es scheint mir hier noch sehr kaotisch zuzugehen 
Dookie hat geschrieben:Hallo,
leider kommt es immer wieder vor, daß hier manche glauben, wir würden ihre Hausaufgaben lösen. Dafür ist dieses Forum echt nicht gedacht. Wenn einer bei einem Problem Hilfe braucht, geben wir gerne Hilfestellung, aber wenn hier Leute her kommen, die weder von Programmierung noch von Python eine Ahnung haben und glauben wir würden Ihnen fertige Lösungen liefern, so sind die hier falsch!
Gruß
Dookie



-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Einige Snippets sind unter PythonSnippets verlinkt, aber es hat keiner in letzter zeit ein Snippet gepostet, welches eintragenswert gewesen wäre.Anonymous hat geschrieben:Nur, wo erfrage ich dann zu eimen Thema, wie diesem etwas, unter dem Gesichtspunkt: Warum soll ich doppelt entwickeln, was andere schon in der Tache haben? Hier fehl mir ein Index auf Beipiele bzw. gelöste Aufgaben bzw. Themen die im Forum behandelt wurden, für die eine Lösung erarbeitet wurde. Es scheint mir hier noch sehr kaotisch zuzugehen
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Hallo,
eine Berechnung der deutschen Feiertage kann man sich relativ einfach selber schreiben. Zunächst einmal gibt es ja die fixen Feiertag wie beispielsweise Neujahr, den 3. Oktober oder Weihnachten. Dazu kommen dann die beweglichen Feiertage.
Hierzu muss man wissen, dass sich die beweglichen alle von dem Ostersonntag ableiten. Diesen kann man wiederum über eine recht einfache Formel berechnen, wie sie beispielsweise hier beschrieben ist.
Bei dem oberen Link zu Wikipedia kann man dann nachlesen, wie viele Tage vor oder nach dem Ostersonntag die entsprechenden Feiertage liegen und aufgrund der vorhergehenden Berechnung des Ostersonntags auch die anderen Feiertage berechnen.
Ich hoffe mal, dass du damit schon ein wenig weiter kommst, ansonsten könnte ich dir auch noch einen Code-Ausschnitt bereitstellen... Aber ich finde immer, dass selber machen auch seine Vorteile hat
MfG,
ein Gast
eine Berechnung der deutschen Feiertage kann man sich relativ einfach selber schreiben. Zunächst einmal gibt es ja die fixen Feiertag wie beispielsweise Neujahr, den 3. Oktober oder Weihnachten. Dazu kommen dann die beweglichen Feiertage.
Hierzu muss man wissen, dass sich die beweglichen alle von dem Ostersonntag ableiten. Diesen kann man wiederum über eine recht einfache Formel berechnen, wie sie beispielsweise hier beschrieben ist.
Bei dem oberen Link zu Wikipedia kann man dann nachlesen, wie viele Tage vor oder nach dem Ostersonntag die entsprechenden Feiertage liegen und aufgrund der vorhergehenden Berechnung des Ostersonntags auch die anderen Feiertage berechnen.
Ich hoffe mal, dass du damit schon ein wenig weiter kommst, ansonsten könnte ich dir auch noch einen Code-Ausschnitt bereitstellen... Aber ich finde immer, dass selber machen auch seine Vorteile hat

MfG,
ein Gast
Hi,...
Ich hoffe, nun zu meiner Ehrenrettung beitragen zu können
OK, die rette mich jetzt mal mit dem was ich gefunden habe...
(1) http://lists.debian.org/debian-user-ger ... 02368.html
calcEastern1.py
... oder aber noch schöner ...
(2) http://lists.debian.org/debian-user-ger ... 02373.html
calcEastern2.py
(3) http://lf.starlogik.de/WandKalender.shtm
calcEastern3.py
Osterfestdaten für die Jahre 1980 bis 2031, berechnet nach den oben angegebenen Formeln. Trotz aller Sorgfalt bei der Programmierung kann für die Richtigkeit der berechneten Daten keine Gewähr übernommen werden.
Im betrachteten Zeitraum wurden ermittelt
--> als frühester Ostertermin: 23. März im Jahr 2008,
--> als spätester Ostertermin: 24. April im Jahr 2011.
Ich hoffe, nun zu meiner Ehrenrettung beitragen zu können

OK, die rette mich jetzt mal mit dem was ich gefunden habe...
(1) http://lists.debian.org/debian-user-ger ... 02368.html
calcEastern1.py
Code: Alles auswählen
#!/usr/bin/python
from sys import argv
from mx.DateTime import *
def DateFormat(string, date):
print string + ": " + str(date.day) + '.' + str(ostern.month) + '.' + str(ostern.year)
if len(argv) <= 1 :
year = now().year
else:
year = int(argv[1])
d=(((255 - 11 * (year % 19)) - 21) % 30) + 21
if d > 48:
d+=1
delta = d + 6 - ((year + (year - ((year % 4))) / 4) + d + 1) % 7
ostern = DateTime(year,3,1) + delta
DateFormat("Aschermittwoch", ostern - 46)
DateFormat("Karfreitag", ostern - 2)
DateFormat("Ostern", ostern)
DateFormat("Ostermontag", ostern + 1)
DateFormat("Himmelfahrt", ostern + 39)
DateFormat("Pfingstsonntag", ostern + 49)
DateFormat("Pfingstmontag", ostern + 50)
# of calcEastern1()
(2) http://lists.debian.org/debian-user-ger ... 02373.html
calcEastern2.py
Code: Alles auswählen
#!/usr/bin/python
from sys import argv
from mx.DateTime import *
from mx.DateTime.Feasts import *
def DateFormat(string, date):
print string + ": " + str(date.day) + '.' + str(date.month) + '.' + str(date.year)
if len(argv) <= 1 :
year = now().year
else:
year = int(argv[1])
DateFormat("Rosenmontag", Rosenmontag(year))
DateFormat("Karfreitag", Karfreitag(year))
DateFormat("Ostern", Ostersonntag(year))
DateFormat("Ostermontag", Ostermontag(year))
DateFormat("Himmelfahrt", Himmelfahrt(year))
DateFormat("Pfingstsonntag", Pfingstsonntag(year))
DateFormat("Pfingstmontag", Pfingstmontag(year))
DateFormat("Fronleichnam", Fronleichnam(year))
# of calcEastern2()
calcEastern3.py
Code: Alles auswählen
import datetime
def calcEastern(X):
m = 0
# Berechnung von Ostern mittels Gaußscher Osterformel
# siehe http://www.ptb.de/de/org/4/44/441/oste.htm
# mindestens bis 2031 richtig
K = X / 100
M = 15 + ((3*K+3)/4) - ((8*K+13)/25)
S = 2 - ((3*K+3)/4)
A = X % 19
D = (19*A+M) % 30
R = (D/29) + ((D/28) - (D/ 29)) * (A/11)
OG = 21 + D - R
SZ = 7 - (X + (X/4)+S) % 7
OE = 7 - ((OG-SZ)% 7)
tmp = OG+OE # das Osterdatum als Tages des M?z, also 32 entspricht 1. April
if (tmp>31): # Monat erhöhen, tmp=tag erniedriegen
m = tmp / 31
tmp -= 31
return datetime.date(X, 3+m, tmp)
# of calcEastern3()
Im betrachteten Zeitraum wurden ermittelt
--> als frühester Ostertermin: 23. März im Jahr 2008,
--> als spätester Ostertermin: 24. April im Jahr 2011.
Hmmm... was ist denn mx für ein Modul?
Es gibt für alles eine rationale Erklärung.
Außerdem gibt es eine irrationale.
Wie man Fragen richtig stellt
Außerdem gibt es eine irrationale.
Wie man Fragen richtig stellt
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Das sind die eGenix mx Extensions, ich glaube das datetime Modul ist mx.DateTime.N317V hat geschrieben:Hmmm... was ist denn mx für ein Modul?
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice