Current section
Files
Jump to
Current section
Files
priv/calendars/definitions/de.yaml
# German holiday definitions for the Ruby Holiday gem.
#
# Updated: 2016-11-27
#
# Changes 2016-11-27:
# - Change de_sn_aux, de_th_aux to de_sn_sorbian (because it only is celebrated in Sorbian regions in Sachsen) and de_th_eichsfeld, to reflect region of Eichsfeld
# - Change de_sn_aux to de_by_augsburg to reflect only City of Augsburg
#
# Changes 2017-06-08:
# - Add Berlin, Bremen, Hamburg, Niedersachsen, Schleswig-Holstein
# - Change de_th_eichsfeld to de_th_cath because it affects the catholic communities Eichsfeld, Unstrut-Hainich-Kreis and Wartburgkreis
# - Merge Fronleichnam entry
# - Add de_by_cath for catholic communities in Bavaria; Maria Himmelfahrt is not a Bavaria-wide holiday
# - Mariä Himmelfahrt is celebrated in the community of Augsburg (de_by_augsburg)
# - Enhance tests
#
# Changes 2017-09-25:
# - Correct definition for Reformation Day
#
# Sources:
# - http://en.wikipedia.org/wiki/Holidays_in_Germany
# - http://www.timeanddate.com/calendar/index.html?country=8
# - http://www.germany.info/relaunch/welcome/travel/holidays.html
# - https://www.statistik.bayern.de/statistik/bevoelkerungsstand/00141.php
# - http://www.thueringen.de/mam/th3/tim/verwaltungsrecht/fronleichnam_gemeindeschluesselzahlen.pdf
---
months:
0:
- name: Karfreitag
regions: [de]
function: easter(year)
function_modifier: -2
- name: Ostersonntag
regions: [de]
function: easter(year)
type: informal
- name: Ostermontag
regions: [de]
function: easter(year)
function_modifier: 1
- name: Christi Himmelfahrt
regions: [de]
function: easter(year)
function_modifier: 39
- name: Pfingstsonntag
regions: [de]
function: easter(year)
function_modifier: 49
type: informal
- name: Pfingstmontag
regions: [de]
function: easter(year)
function_modifier: 50
- name: Fronleichnam
regions: [de_bw, de_by, de_he, de_nw, de_rp, de_sl, de_sn_sorbian, de_th_cath]
function: easter(year)
function_modifier: 60
- name: Weiberfastnacht
regions: [de_bw, de_by, de_he, de_nw, de_rp, de_sl, de_sn]
function: easter(year)
function_modifier: -52
type: informal
- name: Rosenmontag
regions: [de_bw, de_by, de_he, de_nw, de_rp, de_sl, de_sn]
function: easter(year)
function_modifier: -48
type: informal
- name: Aschermittwoch
regions: [de_bw, de_by, de_he, de_nw, de_rp, de_sl, de_sn]
function: easter(year)
function_modifier: -46
type: informal
1:
- name: Neujahrstag
regions: [de]
mday: 1
- name: Heilige Drei Könige
regions: [de_bw, de_by, de_st]
mday: 6
5:
- name: Tag der Arbeit
regions: [de]
mday: 1
8:
- name: Mariä Himmelfahrt
regions: [de_by_cath, de_by_augsburg, de_sl]
mday: 15
- name: Friedensfest
regions: [de_by_augsburg]
mday: 8
10:
- name: Tag der Deutschen Einheit
regions: [de]
mday: 3
- name: Reformationstag
regions: [de_bb, de_mv, de_sn, de_st, de_th]
mday: 31
- name: Reformationstag
regions: [de_bw]
mday: 31
type: informal
- name: Reformationstag
regions: [de]
mday: 31
year_ranges:
- limited: [2017]
11:
- name: Allerheiligen
regions: [de_bw, de_by, de_nw, de_rp, de_sl]
mday: 1
- name: Buß- und Bettag
regions: [de_sn]
function: de_buss_und_bettag(year)
12:
- name: Heilig Abend
regions: [de]
mday: 24
type: informal
- name: 1. Weihnachtstag
regions: [de]
mday: 25
- name: 2. Weihnachtstag
regions: [de]
mday: 26
- name: Silvester
regions: [de]
mday: 31
type: informal
methods:
de_buss_und_bettag:
# Germany: Wednesday before November 23
arguments: year
source: |
date = Date.civil(year,11,23)
if date.wday > 3
date -= (date.wday - 3)
else
date -= (date.wday + 4)
end
date
tests:
- given:
date: '2009-01-01'
regions: ["de"]
options: ["informal"]
expect:
name: "Neujahrstag"
- given:
date: '2009-04-10'
regions: ["de"]
options: ["informal"]
expect:
name: "Karfreitag"
- given:
date: '2009-04-12'
regions: ["de"]
options: ["informal"]
expect:
name: "Ostersonntag"
- given:
date: '2009-04-13'
regions: ["de"]
options: ["informal"]
expect:
name: "Ostermontag"
- given:
date: '2009-05-01'
regions: ["de"]
options: ["informal"]
expect:
name: "Tag der Arbeit"
- given:
date: '2009-05-21'
regions: ["de"]
options: ["informal"]
expect:
name: "Christi Himmelfahrt"
- given:
date: '2009-05-31'
regions: ["de"]
options: ["informal"]
expect:
name: "Pfingstsonntag"
- given:
date: '2009-06-01'
regions: ["de"]
options: ["informal"]
expect:
name: "Pfingstmontag"
- given:
date: '2009-10-03'
regions: ["de"]
options: ["informal"]
expect:
name: "Tag der Deutschen Einheit"
- given:
date: '2009-12-24'
regions: ["de"]
options: ["informal"]
expect:
name: "Heilig Abend"
- given:
date: '2009-12-25'
regions: ["de"]
options: ["informal"]
expect:
name: "1. Weihnachtstag"
- given:
date: '2009-12-26'
regions: ["de"]
options: ["informal"]
expect:
name: "2. Weihnachtstag"
- given:
date: '2009-12-31'
regions: ["de"]
options: ["informal"]
expect:
name: "Silvester"
- given:
date: '2009-01-06'
regions: ["de_bw", "de_by", "de_st", "de_"]
expect:
name: "Heilige Drei Könige"
- given:
date: '2009-06-11'
regions: ["de_bw", "de_by", "de_he", "de_nw", "de_rp", "de_sl", "de_sn_sorbian", "de_th_cath"]
expect:
name: "Fronleichnam"
- given:
date: '2009-08-15'
regions: ["de_by", "de_sl", "de_"]
expect:
name: "Mariä Himmelfahrt"
- given:
date: '2009-10-31'
regions: ["de_bb", "de_mv", "de_sn", "de_st", "de_th", "de_"]
expect:
name: "Reformationstag"
- given:
date: '2009-10-31'
regions: ["de_bw"]
options: ["informal"]
expect:
name: "Reformationstag"
- given:
date: '2017-10-31'
regions: ["de"]
expect:
name: "Reformationstag"
- given:
date: '2016-10-31'
regions: ["de"]
expect:
holiday: false
- given:
date: '2018-10-31'
regions: ["de"]
expect:
holiday: false
- given:
date: '2019-10-31'
regions: ["de_bb", "de_mv", "de_sn", "de_st", "de_th"]
expect:
name: "Reformationstag"
- given:
date: '2009-11-01'
regions: ["de_bw", "de_by", "de_nw", "de_rp", "de_sl", "de_"]
expect:
name: "Allerheiligen"
- given:
date: '2015-08-08'
regions: ["de_by_augsburg"]
expect:
name: "Friedensfest"
- given:
date: '2015-08-08'
regions: ["de", "de_bw", "de_by", "de_bb", "de_he", "de_mv", "de_nw", "de_rp", "de_sl", "de_sn", "de_st", "de_th"]
expect:
holiday: false
- given:
date: '2010-05-08'
regions: ["de"]
expect:
holiday: false
- given:
date: '2010-08-08'
regions: ["de"]
expect:
holiday: false
- given:
date: '2004-11-17'
regions: ["de_sn"]
expect:
name: "Buß- und Bettag"
- given:
date: '2005-11-16'
regions: ["de_sn"]
expect:
name: "Buß- und Bettag"
- given:
date: '2006-11-22'
regions: ["de_sn"]
expect:
name: "Buß- und Bettag"
- given:
date: '2009-11-18'
regions: ["de_sn"]
expect:
name: "Buß- und Bettag"
- given:
date: '2016-02-04'
regions: ["de_bw", "de_by", "de_he", "de_nw", "de_rp", "de_sl", "de_sn"]
options: ["informal"]
expect:
name: "Weiberfastnacht"
- given:
date: '2016-02-08'
regions: ["de_bw", "de_by", "de_he", "de_nw", "de_rp", "de_sl", "de_sn"]
options: ["informal"]
expect:
name: "Rosenmontag"
- given:
date: '2016-02-10'
regions: ["de_bw", "de_by", "de_he", "de_nw", "de_rp", "de_sl", "de_sn"]
options: ["informal"]
expect:
name: "Aschermittwoch"