Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/wlbr/feiertage
Gesetzliche Feiertage und mehr in Deutschland und Österreich (Bank holidays/public holidays in Austria and Germany)
https://github.com/wlbr/feiertage
Last synced: about 2 months ago
JSON representation
Gesetzliche Feiertage und mehr in Deutschland und Österreich (Bank holidays/public holidays in Austria and Germany)
- Host: GitHub
- URL: https://github.com/wlbr/feiertage
- Owner: wlbr
- License: mit
- Created: 2015-11-04T14:19:27.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2024-03-25T17:41:07.000Z (9 months ago)
- Last Synced: 2024-07-31T20:50:57.068Z (5 months ago)
- Language: Go
- Homepage:
- Size: 2.59 MB
- Stars: 48
- Watchers: 4
- Forks: 7
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
- awesome-go - feiertage - Set of functions to calculate public holidays in Germany, incl. specialization on the states of Germany (Bundesländer). Things like Easter, Pentecost, Thanksgiving... (Date and Time / Search and Analytic Databases)
- awesome-go - feiertage - Gesetzliche Feiertage und mehr in Deutschland und Österreich (Bank holidays/public holidays in Austria and Germany) - ★ 15 (Date and Time)
- awesome-go-extra - feiertage - 11-04T14:19:27Z|2021-08-16T20:16:45Z| (Date and Time / Advanced Console UIs)
README
# Feiertage
Feiertage is a Go/Golang library for calculating German and Austrian bank holidays. It includes the calculation of the date of Easter and, more importantly, offers ways to retrieve public holidays for a state of Germany or Austria (=Bundesland).The library is probably useful only for people realizing use cases with special requirements inside of Austria or Germany, such as shift schedules or capacity calculation.
### Documentation
See https://godoc.org/github.com/wlbr/feiertage### Usage:
There are two types of functions:* `(year)` and
* `(year optional:IncludingSundays:true)``` returns an extended `time` object (type `feiertag`). It carries the date of the holiday
in the requested year plus the name of the holiday. `` may be any of the following:||||
|----|-----|----|
`Neujahr` | `Epiphanias` | `HeiligeDreiKönige`
`Valentinstag` | `InternationalerTagDesGedenkensAnDieOpferDesHolocaust` | `Josefitag`
`Weiberfastnacht` | `Karnevalssonntag` | `Rosenmontag`
`Fastnacht` | `Aschermittwoch` | `InternationalerFrauentag`
`Palmsonntag` | `Gründonnerstag` | `Karfreitag`
`Ostern` | `BeginnSommerzeit` | `Ostermontag`
`Walpurgisnacht` | `TagDerArbeit` | `TagDerBefreiung`
`Staatsfeiertag` | `InternationalerTagDerPressefreiheit` | `Florianitag`
`Muttertag` | `Handtuchtag` | `ChristiHimmelfahrt`
`Vatertag` | `Pfingsten` | `Pfingstmontag`
`Dreifaltigkeitssonntag` | `Fronleichnam` | `TagDesMeeres`
`MariäHimmelfahrt` | `SystemAdministratorAppreciationDay` |`Rupertitag`
`InternationalerKindertag`| `Weltflüchtlingstag` | `TagDerDeutschenEinheit`
`TagDerVolksabstimmung` | `Nationalfeiertag` | `Erntedankfest`
`Reformationstag` | `Halloween` | `BeginnWinterzeit`
`Allerheiligen` | `Allerseelen` | `Martinstag`
`Karnevalsbeginn` | `Leopolditag` | `Weltkindertag`
`BußUndBettag` | `Thanksgiving` | `Blackfriday`
`Volkstrauertag` | `Nikolaus` | `MariäUnbefleckteEmpfängnis`
`MariäEmpfängnis` | `Totensonntag` | `ErsterAdvent`
`ZweiterAdvent` | `DritterAdvent` | `VierterAdvent`
`Heiligabend` | `Weihnachten` | `Christtag`
`Stefanitag` | `ZweiterWeihnachtsfeiertag` | `Silvester``` returns an object of type `region`. It offers a list of public holidays valid in the specified state as well as the name and the shortname of the state as attributes.
`` may be any of:||||
----|-----|----
`BadenWürttemberg` | `Bayern` | `Berlin`
`Brandenburg` | `Bremen` | `Hamburg`
`Hessen` | `MecklenburgVorpommern` | `Niedersachsen`
`NordrheinWestfalen` | `RheinlandPfalz` | `Saarland`
`Sachsen` | `SachsenAnhalt` | `SchleswigHolstein`
`Thüringen` | `Deutschland` | `Burgenland`
`Kärnten` | `Niederösterreich` | `Oberösterreich`
`Salzburg` | `Steiermark` | `Tirol`
`Vorarlberg` | `Wien` | `Österreich`
`All` | |The optional region function argument `includingSundays` switches the behavior of the region function to include "gesetzliche Feiertage" that fall on Sundays in its output. This is important in Brandenburg, particularly for Easter and Pentecost Sunday. If you are calculating shift costs you will need to know even the holidays "hidden by Sunday".
The region functions return the public holidays ("gesetzliche Feiertage"). The function `all` returns all defined "special dates", such as Penance Day (Buß- und Bettag) or the begin/end of daylight saving time.
The regional functions for Austrian Bundesländer include saints' days which are state-level holidays, meaning
schools etc. are generally closed but workers don't get the day off by default. If you don't want to
include these days in your planning, it's okay to reference `Österreich` instead, as legal holidays are
(more or less) synchronised across all Austrian states (Bundesländer).### Examples:
fmt.Println(Ostern(2016))
--> 27.03.2016 Osternfmt.Println(BußUndBettag(2016))
--> 16.11.2016 Buß- und Bettagfmt.Println(Brandenburg(2016))
--> Brandenburg (BB)
01.01.2016 Neujahr
25.03.2016 Karfreitag
27.03.2016 Ostern
28.03.2016 Ostermontag
01.05.2016 Tag der Arbeit
05.05.2016 Christi Himmelfahrt
15.05.2016 Pfingsten
16.05.2016 Pfingstmontag
03.10.2016 Tag der deutschen Einheit
31.10.2016 Reformationstag
25.12.2016 Weihnachten
26.12.2016 Zweiter Weihnachtsfeiertagfmt.Println(Brandenburg(2016, false))
--> Brandenburg (BB)
01.01.2016 Neujahr
25.03.2016 Karfreitag
28.03.2016 Ostermontag
01.05.2016 Tag der Arbeit
05.05.2016 Christi Himmelfahrt
16.05.2016 Pfingstmontag
03.10.2016 Tag der deutschen Einheit
31.10.2016 Reformationstag
25.12.2016 Weihnachten
26.12.2016 Zweiter Weihnachtsfeiertag## Command line tool
A little command line tool is included as well. It can be compiled using `make buildcmd` or `go build cmd/feiertage/feiertage.go` This will create an executable `feiertage`.
See https://github.com/wlbr/feiertage/releases/latest for downloads.
### Synopsis
`feiertage: [options] year`
- -asTaskjugglerCode (default false)
- Print the result as valid source code (`leave x y`) for the Taskjuggler planning tool.
- -inklusiveSonntage (default false)
- Should public holidays on a Sunday be included?
- -region <regionstring> (default "All")
- Return public holidays for region ``.
- <regionstring> may be (case insensitive, plus some other tricks to make it more tolerant):
BadenWürttemberg
Bayern
Berlin
Brandenburg
Bremen
Hamburg
Hessen
MecklenburgVorpommern
Niedersachsen
NordrheinWestfalen
RheinlandPfalz
Saarland
Sachsen
SachsenAnhalt
SchleswigHolstein
Thüringen
Deutschland
Burgenland
Kärnten
Niederösterreich
Oberösterreich
Salzburg
Steiermark
Tirol
Vorarlberg
Wien
Österreich
All - <regionstring> may be (case insensitive, plus some other tricks to make it more tolerant):
## Code
* Documentation: https://godoc.org/github.com/wlbr/feiertage
* Lint: http://go-lint.appspot.com/github.com/wlbr/feiertage
* Continuous Integration: [![Travis Status](https://api.travis-ci.com/wlbr/feiertage.svg?branch=master)](https://travis-ci.com/wlbr/feiertage)
* Test Coverage: [![Coverage Status](https://coveralls.io/repos/github/wlbr/feiertage/badge.svg?branch=master)](https://coveralls.io/github/wlbr/feiertage?branch=master)
* Metrics: [![GoReportCard](https://goreportcard.com/badge/github.com/wlbr/feiertage)](https://goreportcard.com/report/github.com/wlbr/feiertage)