# man > Date::Manip::Holidays

---
type: CommandReference
command: Date::Manip::Holidays
mode: perldoc
section: 3pm
source: perldoc
---

## Quick Reference
- `Jan 1 = New Year's Day` — fixed date holiday
- `fourth Thu in Nov = Thanksgiving` — annual holiday
- `1*12:0:25:0:0:0*DWD = Christmas` — nearest working day
- `1*11:4:4:0:0:0 = Thanksgiving` — recurrence
- `1*0:0:0:0:0:0*EASTER = Easter` — Easter recurrence
- `2000-01-01 = New Year Party` — all-day event
- `2000-01-01 12:00 ; +2 hours = Meeting` — event with duration
- Order of definitions matters; first matching string used.

## Name
`Date::Manip::Holidays` — describes holidays and events for business mode calculations.

## Synopsis
This documents the Holidays and Events sections of the Date::Manip configuration file. Holidays are named days used in business mode calculations; events are named times/durations ignored in business mode.

## Options
### Holiday definitions (config file `Holiday` section)
Each line: `STRING = HOLIDAY` (HOLIDAY can be blank for unnamed). STRING can be:
- **Full date** — one-time holiday (e.g., `May 5, 2000`). Any parseable format.
- **Date without year** — annual (e.g., `Jan 1`, `Jul 4th`, `fourth Thu in Nov`). Year is appended to parse.
- **Recurrence** — e.g., `1*11:4:4:0:0:0` for Thanksgiving. May include modifiers: `*DWD` (nearest workday), `*NWD` (next workday), `*NBD` (next business day), `*IBD` (in business day), `*FD1` (first day after), etc.

### Event definitions (config file `Events` section)
Each line: `EVENT = NAME`. EVENT can be:
- `Date` — full date/time, event lasts 1 hour.
- `YMD` — date string (no time), all-day event.
- `YM` — annual date, all-day event.
- `Recur` — recurrence, event lasts 1 hour.
- `Date;Date` — from first date to second inclusive.
- `YMD;YMD` or `YM;YM` — from start of first to end of second.
- `Date;Delta` or `Recur;Delta` — event duration specified by a delta.

### Important considerations
- Recurrences can push holiday to previous year (e.g., New Year's Day observed on Friday if Jan 1 is Saturday).
- Order of definitions is preserved; first matching string for a given year is used.
- Multiple holidays on same day allowed.
- Complex holidays (e.g., US Federal Reserve) require multiple definitions with modifiers like `NBD,BD1,IBD,FD1` or `IW6`.

## Examples
### Holiday examples
text
# Fixed date
Jan 1                           = New Year's Day
# Recurrence with DWD (nearest working day)
1*12:0:25:0:0:0*DWD            = Christmas
# Recurrence for Thanksgiving
1*11:4:4:0:0:0                 = Thanksgiving
# Unnamed holiday (day after Thanksgiving)
1*11:4:4:0:0:0*FD1             = (blank)
# Complex: Saturday/Sunday handling
1*1:0:1:0:0:0*NBD,BD1,IBD,FD1 = New Year's Day
1*1:0:1:0:0:0*NBD,BD1,NBD,FD2 = New Year's Day
1*1:0:1:0:0:0*IBD              = New Year's Day
### Event examples
text
# All-day event on a specific date
2000-01-01 = New Year Party
# Event with time and duration
2000-01-01 12:00 ; +2 hours = Lunch Meeting
# Recurring event
1*0:0:0:0:0:0*EASTER ; +1 day = Easter Monday
## See Also
- [Date::Manip](https://metacpan.org/pod/Date::Manip) — main module documentation
- [Date::Manip::Date](https://metacpan.org/pod/Date::Manip::Date) — date parsing and manipulation
- [Date::Manip::Problems](https://metacpan.org/pod/Date::Manip::Problems) — bug reporting

## Exit Codes
Not documented.