美国联邦假日
构建并返回特定年份所有美国联邦假日列表,以及 提供一种帮助方法来确定某一日期是否是美国联邦假日. 如果假日落下,则将假日改为最接近的周日 周末见.
美国联邦假期是 根据OPM的定义。 。 。 .
安装
npm install @18f/us-federal-holidays
要求节点.js 12或更高.
使用量
要获得美国联邦特定年份所有假期的列表,请使用 allForYear
方法。 如果没有年数流出,则使用当年.
const fedHolidays = require('@18f/us-federal-holidays');
const options = { shiftSaturdayHolidays: true, shiftSundayHolidays: true };
const holidays = fedHolidays.allForYear(2016, options);
// Returns
[ { name: 'New Year\'s Day',
date: 2016-01-01T00:00:00.000Z,
dateString: '2016-1-1' },
{ name: 'Birthday of Martin Luther King, Jr.',
date: 2016-01-18T00:00:00.000Z,
dateString: '2016-1-18' },
{ name: 'Washington\'s Birthday',
alsoObservedAs: 'Presidents\' Day',
date: 2016-02-15T00:00:00.000Z,
dateString: '2016-2-15' },
{ name: 'Memorial Day',
date: 2016-05-30T00:00:00.000Z,
dateString: '2016-5-30' },
{
name: 'Juneteenth National Independence Day',
date: 2016-06-20T00:00:00.000Z,
dateString: '2016-6-20' },
{ name: 'Independence Day',
date: 2016-07-04T00:00:00.000Z,
dateString: '2016-7-4' },
{ name: 'Labor Day',
date: 2016-09-05T00:00:00.000Z,
dateString: '2016-9-5' },
{ name: 'Columbus Day',
alsoObservedAs: 'Indigenous Peoples\' Day',
date: 2016-10-10T00:00:00.000Z,
dateString: '2016-10-10' },
{ name: 'Veterans Day',
date: 2016-11-11T00:00:00.000Z,
dateString: '2016-11-11' },
{ name: 'Thanksgiving Day',
date: 2016-11-24T00:00:00.000Z,
dateString: '2016-11-24' },
{ name: 'Christmas Day',
date: 2016-12-26T00:00:00.000Z,
dateString: '2016-12-26' } ]
要在日期范围内列出所有美国联邦假期,请使用 inRange
方法。 若无 start 使用当前日期。 如果结束
省去日期,使用当前日期起的一年.
const fedHolidays = require('@18f/us-federal-holidays');
const start = new Date('2016-02-13');
const end = new Date('2017-07-23');
const options = { shiftSaturdayHolidays: true, shiftSundayHolidays: true };
const holidays = fedHolidays.federalHolidaysInRange(start, end, options);
// Returns
[ { name: 'Washington\'s Birthday',
date: 2016-02-15T00:00:00.000Z,
dateString: '2016-2-15' },
{ name: 'Memorial Day',
date: 2016-05-30T00:00:00.000Z,
dateString: '2016-5-30' },
{
name: 'Juneteenth National Independence Day'
date: 2016-06-20T00:00:00.000Z,
dateString: '2016-6-20' },
{ name: 'Independence Day',
date: 2016-07-04T00:00:00.000Z,
dateString: '2016-7-4' },
{ name: 'Labor Day',
date: 2016-09-05T00:00:00.000Z,
dateString: '2016-9-5' },
{ name: 'Columbus Day',
alsoObservedAs: 'Indigenous Peoples\' Day',
date: 2016-10-10T00:00:00.000Z,
dateString: '2016-10-10' },
{ name: 'Veterans Day',
date: 2016-11-11T00:00:00.000Z,
dateString: '2016-11-11' },
{ name: 'Thanksgiving Day',
date: 2016-11-24T00:00:00.000Z,
dateString: '2016-11-24' },
{ name: 'Christmas Day',
date: 2016-12-26T00:00:00.000Z,
dateString: '2016-12-26' },
{ name: 'New Year\'s Day',
date: 2017-01-02T00:00:00.000Z,
dateString: '2017-1-2' },
{ name: 'Birthday of Martin Luther King, Jr.',
date: 2017-01-16T00:00:00.000Z,
dateString: '2017-1-16' },
{ name: 'Washington\'s Birthday',
alsoObservedAs: 'Presidents\' Day',
date: 2017-02-20T00:00:00.000Z,
dateString: '2017-2-20' },
{ name: 'Memorial Day',
date: 2017-05-29T00:00:00.000Z,
dateString: '2017-5-29' },
{
name: 'Juneteenth National Independence Day'
date: 2017-06-19T00:00:00.000Z,
dateString: '2017-6-19' },
{ name: 'Independence Day',
date: 2017-07-04T00:00:00.000Z,
dateString: '2017-7-4' } ]
为了确定日期是否为联邦假日,请使用 isAHoliday 方法。 若无
参数,默认为当前日期:
const fedHolidays = require("@18f/us-federal-holidays");
const options = {
shiftSaturdayHolidays: true,
shiftSundayHolidays: true,
utc: false
};
const isAHoliday = fedHolidays.isAHoliday(myDate, options);
// Returns true or false
所有三种方法都一样 options 作为第二个论点。 这个论点是简单的
接受下列属性的对象:
{
// Whether or not holidays that fall on Saturdays should be
// shifted to Friday observance. If you don't follow the
// US federal standard for observing holidays on weekends,
// you can adjust by setting this value to false.
// Default value is true.
shiftSaturdayHolidays: boolean,
// Whether or not holidays that fall on Sundays should be
// shifted to Monday observance. If you don't follow the
// US federal standard for observing holidays on weekends,
// you can adjust by setting this value to false.
// Default value is true.
shiftSundayHolidays: boolean
}
此外, isAHoliday 需要一个 options.utc 参数 :
{
// Whether to treat the first argument as a UTC date instead
// of the local time. Defaults to false. This is useful if
// you're generating dates from UTC timestamps or otherwise
// creating objects from UTC-based dates.
// Default value is false.
// This option only applies to the isAHoliday method.
utc: boolean;
}
公有领域
这个项目在美国的公有领域,版权 和全世界工作中的相关权利通过 CC0 1.0 通用公有领域奉献。 。 。 .
所有对该项目的贡献将在CC0专注下发布. 通过提交拉票请求,你同意遵守这项放弃 版权权益.