@date/holidays-us

USA bank and (some) public holidays

Stats

StarsIssuesVersionUpdatedCreatedSize
@date/holidays-us
600.4.03 years ago5 years agoMinified + gzip package size for @date/holidays-us in KB

Readme

@date/holidays-us

Build Status npm version Coverage Status

A @date/holidays instance with USA public and bank holidays.

Also has functions to calculate dates for specific holidays.

Install

npm install @date/holidays-us --save

Usage

// get Holidays instance with both public and bank holidays
var holidays = require('@date/holidays-us')

var date = new Date(2016, 0, 1) // New Year's Day 2016
holidays.isHoliday(date) // true

date.setDate(10) // January 10th 2016
holidays.isHoliday(date) // false

date = holidays.thanksgiving(2015) // November 26th, 2015
date = holidays.thanksgiving(2016) // November 24th, 2016

date = holidays.valentinesDay(2016) // February 14th, 2016
holidays.isHoliday(date) // true, it's a holiday

// this will return false because Valentine's Day isn't a bank holiday
holidays.isHoliday(date, {
  // only consider it a holiday when the properties in this object match
  bank:true // must be a bank holiday
})

Only Bank Holidays

// this has only the bank holidays, not the 'public' ones
var holidays = require('@date/holidays-us').bank()

// returns false, Valentine's isn't a bank holiday
holidays.isHoliday(new Date(2016, 1, 14))

// returns true, New Year's is a bank holiday
holidays.isHoliday(new Date(2016, 0, 1))

Only Public Holidays

// this has only the non-bank holidays
var holidays = require('@date/holidays-us').public()

// returns true, Valentine's is a public holiday
holidays.isHoliday(new Date(2016, 1, 14))

// returns false, because New Year's is a bank holiday
holidays.isHoliday(new Date(2016, 0, 1))

// NOTE: technically, I suppose the bank holidays are also
// public holidays, but, if you want both, use the default
// instance which has both

API: Generators

Functions which generate a specific holiday based on a specified year:

  1. newYearsDay() - can calculate observed holiday as well
  2. valentinesDay()
  3. martinLutherKingDay()
  4. presidentsDay()
  5. easter()
  6. mothersDay()
  7. memorialDay()
  8. fathersDay()
  9. independenceDay() - can calculate observed holiday as well
  10. laborDay()
  11. columbusDay()
  12. halloween()
  13. veteransDay() - can calculate observed holiday as well
  14. thanksgiving()
  15. christmas() - can calculate observed holiday as well

API: Observed Holidays

Some holidays are "observed" on a different day than the holiday. The generate functions can calculate that as well.

var holidays = require('@date/holidays-us')

// Christmas in 2016 is on a Sunday so it is "observed" the next day, Monday.
// the call to the generator returns the date instance as expected
var christmasDay = holidays.christmas(2016) // same as new Date(2016, 11, 25)
// it also has an `observed` property containing the "observed" holiday date
// Note: if there is no "observed" holiday then `observed` is undefined
var observedChristmas = date.observed

// christmas         == new Date(2016, 11, 25) Sunday, December 25th 2016
// observedChristmas == new Date(2016, 11, 26) Monday, December 26th 2016

MIT License

If you find any bugs or have a feature request, please open an issue on github!

The npm package download data comes from npm's download counts api and package details come from npms.io.