README
NAME
Holidays::US::Federal - Provides names, dates, and dates observed for US Federal holidays
SYNOPSIS
use Holidays::US::Federal;
DESCRIPTION
Holidays::US::Federal is a module that provides information on the eleven official U.S. federal holidays as of 2023-03-08 according to data available online at https://www.opm.gov/policy-data-oversight/pay-leave/federal-holidays/. A description of the rules for traditional dates and when holidays are actually observed as paid holidays off for federal employees is also found on the site. All the data reflect current laws in Title 5 US Code Section 6103.
This module provides a routine which provides a hash of the holidays
for a given year keyed by each holiday's date
.
Each key is a Raku Date
and the key's value is
a class FedHoliday
object.
The data are perpetual for any given
year as long as Title 5 US Code Section 6103 stays unchanged.
For this collection there should be no overlapping holidays.
Each instance is one with two different date attributes:
(1) the traditional date
and (2) the date-observed
which is the paid day-off for most federal government employees (as well as
for many other employees in the US labor force).
If the dates are identical, then that date is the one to use on a calendar.
If they are different, then both should be used.
Note the holidays also have a short-name
attribute which is not official
but has the value used by the author for his calendars.
NOTE: During the devlopment of this module, functions for finding dates relative to other dates were found to be necessary and were coded and published as a new Raku module: Date:Utils. Those routines are expected to be useful for various calendar creation projects. They are:
nth-day-of-week-in-month
nth-day-of-week-after-date
nth-dow-in-month
nth-dow-after-date
For convenience, the routines have alternative names requiring fewer key strokes. They are:
AUTHOR
Tom Browder <[email protected]>
COPYRIGHT AND LICENSE
Ā© 2023 Tom Browder
This library is free software; you may redistribute it or modify it under the Artistic License 2.0.