bank-holiday-germany 1.3.0.0 → 1.3.1.0
raw patch · 5 files changed
+34/−24 lines, 5 filesdep ~hedgehogdep ~timePVP ok
version bump matches the API change (PVP)
Dependency ranges changed: hedgehog, time
API changes (from Hackage documentation)
+ Data.Time.Calendar.BankHoliday.Germany.ExtraHolidays: Weltkindertag :: ExtraHoliday
Files
- CHANGELOG.md +7/−0
- README.md +13/−14
- bank-holiday-germany.cabal +7/−7
- src/Data/Time/Calendar/BankHoliday/Germany/ExtraHolidays.hs +6/−2
- test/Main.hs +1/−1
CHANGELOG.md view
@@ -44,3 +44,10 @@ - Add extra holidays for all remaining federal states. - Update doc+++## [1.3.1.0] - 2025-04-13++### Fixed++- Added missing Weltkindertag for Thüringen (September 20)
README.md view
@@ -5,16 +5,16 @@ This package provides calculation of bank holidays and public holidays in Germany. -Most of these bank holidays are also public aka legal holidays+Most bank holidays are also public aka legal holidays throughout Germany. You can use `isPublicHoliday` to check if a-holiday is also a legal holiday.--Legal holidays are generally off for all employees. Bank holidays that-are not legal holidays are generally only off for bank employees.+bank holiday is also a public holiday. There are even more public holidays in each federal state which are covered by the `ExtraHolidays` module of this package. +Public holidays are generally off for all employees. Bank holidays that+are not public holidays are generally only off for bank employees.+ See the [module documentation](https://hackage.haskell.org/package/bank-holiday-germany) on Hackage for more information. @@ -28,23 +28,22 @@ Bundesrepublik Deutschland. Die Funktion `isPublicHoliday` prüft ob ein Bankfeiertag auch ein gesetzlicher Feiertag ist. -Gesetzliche Feiertage sind Ländersache – abgesehen vom-[Nationalfeiertag](https://www.bmi.bund.de/DE/themen/verfassung/staatliche-symbole/nationale-feiertage/nationale-feiertage-node.html)-*Tag der Deutschen Einheit*.+Darüber hinaus gibt es je nach Bundesland weitere gesetzliche Feiertage.+Diese finden sich im Modul `ExtraHolidays`.+**Für alle 16 Bundesländer sind damit die jeweiligen Feiertage+vollständig implementiert (Stand 2024-03-31).** Bankfeiertage sind in der Regel für Bankangestellte frei. Gesetzliche Feiertage sind in der Regel für alle Angestellten frei (im Bundesland für das sie gelten). -Gesetzliche Feiertage der Bundesländer, die nicht gleichzeitig-Bankfeiertage sind, sind im Modul `ExtraHolidays` definiert.--**Für alle 16 Bundesländer sind damit die jeweiligen Feiertage-vollständig implementiert (Stand 2024-03-31).**- Vorsicht: Manche gesetzliche Feiertage gelten nicht für ein ganzes Bundesland sondern nur für bestimmte Landkreise, z.B. das Friedensfest in Augsburg.++Gesetzliche Feiertage sind übrigens Ländersache – abgesehen vom+[Nationalfeiertag](https://www.bmi.bund.de/DE/themen/verfassung/staatliche-symbole/nationale-feiertage/nationale-feiertage-node.html)+*Tag der Deutschen Einheit*. Ein Code-Beispiel im Modul `ExtraHolidays` zeigt, wie alle Feiertage für ein bestimmtes Bundesland berechnet werden können.
bank-holiday-germany.cabal view
@@ -1,9 +1,9 @@ cabal-version: 3.6 name: bank-holiday-germany-version: 1.3.0.0+version: 1.3.1.0 synopsis: German bank holidays and public holidays-description: Calculation of bank holidays and most public holidays in Germany.+description: Calculation of bank holidays and public holidays in Germany. homepage: https://github.com/schoettl/bank-holiday-germany#readme license: MIT license-file: LICENSE@@ -20,7 +20,7 @@ exposed-modules: Data.Time.Calendar.BankHoliday.Germany , Data.Time.Calendar.BankHoliday.Germany.ExtraHolidays build-depends: base >= 4.7 && < 5- , time >= 1.12.2 && < 1.14+ , time >= 1.12.2 && < 1.15 default-language: GHC2021 ghc-options: -Wall -Wcompat@@ -41,11 +41,11 @@ , src build-depends: base , bank-holiday-germany- , time >= 1.12.2 && < 1.13- , doctest >= 0.22.2 && < 0.23- , hedgehog >= 1.4 && < 1.5+ , time >= 1.12.2 && < 1.15+ , doctest >= 0.22.2 && < 1+ , hedgehog >= 1.4 && < 1.6 , hspec >= 2.11.7 && < 2.12- , hspec-hedgehog >= 0.1.0 && < 0.2+ , hspec-hedgehog >= 0.1.0 default-language: GHC2021 ghc-options: -Wall -Wcompat
src/Data/Time/Calendar/BankHoliday/Germany/ExtraHolidays.hs view
@@ -69,7 +69,7 @@ - Rheinland-Pfalz: https://mdi.rlp.de/themen/buerger-und-staat/verfassung-und-verwaltung/sonn-und-feiertagsrecht - Brandenburg: https://bravors.brandenburg.de/gesetze/ftg_2003/6 - Sachsen-Anhalt: https://www.landesrecht.sachsen-anhalt.de/bsst/document/jlr-FeiertGSTrahmen/part/X- - Thüringen: https://buerger.thueringen.de/detail?pstId=354718+ - Thüringen: https://landesrecht.thueringen.de/bsth/document/jlr-FeiertGTHrahmen - Hamburg: https://www.hamburg.de/ferien-und-feiertage/ - Mecklenburg-Vorpommern u. Berlin (Frauentag): https://www.deutsche-rentenversicherung.de/DRV/DE/Ueber-uns-und-Presse/Presse/Meldungen/2024/240306_frauentag_feiertag_frei.html - Saarland: https://www.saarland.de/mibs/DE/themen-aufgaben/aufgaben/buerger_und_staat/sonn_u_feiertagsrecht/feiertagsrecht_node.html@@ -124,6 +124,7 @@ | MariaeHimmelfahrt -- ^ Mariä Himmelfahrt (Bayern*, Saarland) | Allerheiligen -- ^ Allerheiligen (Bayern, Baden-Württemberg, Nordrhein-Westfalen, Rheinland-Pfalz, Saarland) | Reformationstag -- ^ Reformationstag (Niedersachsen, Sachsen, Schleswig-Holstein, Brandenburg, Sachsen-Anhalt, Thüringen, Hamburg, Mecklenburg-Vorpommern, Bremen)+ | Weltkindertag -- ^ Weltkindertag | InternationalerFrauentag -- ^ Internationaler Frauentag (Berlin, Mecklenburg-Vorpommern) | BussUndBettag -- ^ Buß- und Bettag (Sachsen) deriving (Enum, Eq, Bounded, Show, Read)@@ -140,6 +141,7 @@ toDay year Allerheiligen = fromGregorian year 11 1 toDay year InternationalerFrauentag = fromGregorian year 3 8 toDay year Reformationstag = fromGregorian year 10 31+toDay year Weltkindertag = fromGregorian year 9 20 toDay year BussUndBettag = calculateBussUndBettag year -- | Compute 'Maybe' the holiday for a given date.@@ -171,7 +173,8 @@ Friedensfest -> "Friedensfest" MariaeHimmelfahrt -> "Mariä Himmelfahrt" Allerheiligen -> "Allerheiligen"- Reformationstag -> "Reformationstag"+ Reformationstag -> "Reformationstag"+ Weltkindertag -> "Weltkindertag" InternationalerFrauentag -> "Internationaler Frauentag" BussUndBettag -> "Buß- und Bettag" @@ -211,6 +214,7 @@ isHolidayInState SachsenAnhalt Reformationstag = True isHolidayInState Thueringen Fronleichnam = True isHolidayInState Thueringen Reformationstag = True+isHolidayInState Thueringen Weltkindertag = True isHolidayInState Hamburg Reformationstag = True isHolidayInState MecklenburgVorpommern Reformationstag = True isHolidayInState MecklenburgVorpommern InternationalerFrauentag = True
test/Main.hs view
@@ -123,7 +123,7 @@ (map snd $ EH.holidaysBetween SachsenAnhalt (jan1 y) (dec31 y)) === [HeiligeDreiKoenige, Reformationstag] it "has holidays for Thüringen" $ hedgehog $ do y <- forAll $ Gen.integral (Range.linear 2024 5000)- (map snd $ EH.holidaysBetween Thueringen (jan1 y) (dec31 y)) === [Fronleichnam, Reformationstag]+ (map snd $ EH.holidaysBetween Thueringen (jan1 y) (dec31 y)) === [Fronleichnam, Weltkindertag, Reformationstag] it "has holidays for Hamburg" $ hedgehog $ do y <- forAll $ Gen.integral (Range.linear 2024 5000) (map snd $ EH.holidaysBetween Hamburg (jan1 y) (dec31 y)) === [Reformationstag]