/feiertagejs

Feiertage.js is a small npm module to calculate German holidays for each Bundesland

Primary LanguageTypeScriptMIT LicenseMIT

Feiertage.js

npm version Build Status

Feiertage.js is a small typescript npm module without dependencies to calculate German holidays for each Bundesland.

Installation

If you are looking for a day.js plugin find it in this repository.

Quick Examples

ES Modules (Typescript/Javasript)

The prefered whay is to directly import the typescript module. However, you can also use .js. Please find here some examples and full api here.

import { getHolidays, isHoliday, isSpecificHoliday } from 'feiertagejs';

const today = new Date();

// is today a holiday?
isHoliday(today, 'BW'); // false --  probably false, because you are working ;)

// check if a day is a specific holiday
isSpecificHoliday(today, 'CHRISTIHIMMELFAHRT', 'ALL'); // true | false

// get all holiday for a single year: getHolidays()
// returns an array of "Holiday" Objects. Please see the docs.md for all properties.
const holidays2023 = getHolidays('2023', 'BUND');

holidays2023[0].date // === Date("2023-01-01");
holidays2023[0].name // 'NEUJAHRSTAG' (constant)
holidays2023[0].translate('de') // German translation: Neujahrstag
holidays2023[0].equals(date) // Compare days only (ignore time)

One entry of the array contains:

[{
    name: 'CHRISTIHIMMELFAHRT',
    date: new Date('2023-05-17T22:00:00.000Z'),
    dateString: '2023-05-18',
    regions: [
      'BW',  'BY',   'BE',
      'BB',  'HB',   'HE',
      'HH',  'MV',   'NI',
      'NW',  'RP',   'SL',
      'SN',  'ST',   'SH',
      'TH',  'BUND', 'AUGSBURG',
      'ALL'
    ],
    translate: [Function: translate],
    getNormalizedDate: [Function: getNormalizedDate],
    equals: [Function: equals]
  }
]

API doc

The full API doc can be found here.

Feedback and Questions

You have two options two give feedback or ask questions:

  • Comment the official release post
  • Open issues or pullrequests on github

Contributors

Thank you for contributing:

  • thetric
  • SteveOswald

Feedback

If you have any questions, feel free to open an issue.