Expand description
German Werktag (working day) arithmetic for BDEW AHB conditions.
“Werktage” under GPKE/GeLi-Gas are calendar days that are not
Saturdays, Sundays, or a holiday per the BDEW Feiertagskalender
(see Feiertagskalender_GPKE-GeLiGas_<FV>_V_x_y_<yyyymmdd>.pdf).
BDEW rule: “Wenn in einem Bundesland ein Tag als Feiertag ausgewiesen ist, dann gilt dieser Feiertag bundesweit. Generell gelten der 24.12. und der 31.12. als Feiertage.” — the union of every Land’s public holidays plus 24.12. and 31.12. as BDEW-specific non-working days.
| # | Name | Date |
|---|---|---|
| 1 | Neujahr | 1. Januar |
| 2 | Hl. Drei Könige | 6. Januar |
| 3 | Internationaler Frauentag | 8. März |
| 4 | Karfreitag | Ostersonntag − 2 |
| 5 | Ostermontag | Ostersonntag + 1 |
| 6 | Tag der Arbeit | 1. Mai |
| 7 | Christi Himmelfahrt | Ostersonntag + 39 |
| 8 | Pfingstmontag | Ostersonntag + 50 |
| 9 | Fronleichnam | Ostersonntag + 60 |
| 10 | Mariä Himmelfahrt | 15. August |
| 11 | Weltkindertag | 20. September |
| 12 | Tag der Deutschen Einheit | 3. Oktober |
| 13 | Reformationstag | 31. Oktober |
| 14 | Allerheiligen | 1. November |
| 15 | Buß- und Bettag | Mittwoch vor dem 23. November |
| 16 | Heiligabend | 24. Dezember |
| 17 | 1. Weihnachtstag | 25. Dezember |
| 18 | 2. Weihnachtstag | 26. Dezember |
| 19 | Silvester | 31. Dezember |
Easter (Ostersonntag) is computed via the Anonymous Gregorian algorithm (Gauss 1816 / Meeus 1991).
Note on historical dates: Frauentag (Berlin ab 2019, MV ab 2023) and Weltkindertag (Thüringen ab 2019) are applied unconditionally; the validator is intended for current-era energy-market traffic, not pre-2019 archival data.
Functions§
- buss_
und_ bettag - Compute Buß- und Bettag (Wednesday before 23. November) for the given year.
- compute_
easter - Compute Gregorian Easter Sunday for the given year.
- is_
german_ holiday - Is
datea holiday per the BDEW GPKE/GeLi-Gas Feiertagskalender? - is_
werktag - Is
datea Werktag (Mon–Fri and not a federal holiday)? - parse_
ccyymmdd_ prefix - Parse a CCYYMMDD date prefix (ignoring anything after the 8th character). Used for DTM values in formats 102 / 203 / 303.
- werktage_
between - Count Werktage strictly after
fromup to and includingto.