Public holidays and significant days in the Czech Republic.
All functions are available in the main module. You can import them like this:
import * as holidays from 'holidays-cs';
Luxon is used for date manipulation.
You can pass a Date
object or a DateTime
object to the functions.
Responses are always DateTime
objects. If you need a Date
object,
you can use the response.toJSDate()
method.
import {DateTime} from 'luxon';
import {isPublicHoliday, getPublicHoliday} from 'holidays-cs';
// 1. january
isPublicHoliday(DateTime.fromISO('2024-01-01')); // true
// 2. january
isPublicHoliday(DateTime.fromISO('2024-01-02')); // false
// 17. november
isPublicHoliday(DateTime.fromISO('2024-11-17')); // true
getPublicHoliday(DateTime.fromISO('2024-11-17')); // Den boje za svobodu a demokracii (1939 a 1989)
You can get all public holidays for a given year:
import {getPublicHolidaysList} from 'holidays-cs';
getPublicHolidaysList(2024); // returns Map with all 13 holidays
In the Czech Republic, shops are closed on some public holidays.
import {DateTime} from 'luxon';
import {areShopsOpen, getShopsStatus} from 'holidays-cs';
// 24. december 2024
areShopsOpen(DateTime.fromISO('2024-12-24')); // true
// 25. december 2024
getShopsStatus(DateTime.fromISO('2024-12-25')); // otevřeno do 12:00
// New Year's Day 2025
areShopsOpen(DateTime.fromISO('2025-01-01')); // false
getShopsStatus(DateTime.fromISO('2025-01-01')); // zavřeno
Significant days are not public holidays, but they are important in the Czech Republic.
import {DateTime} from 'luxon';
import {isSignificantDay, getSignificantDay} from 'holidays-cs';
// 16. jan 2024
isSignificantDay(DateTime.fromISO('2024-01-16')); // true
getSignificantDay(DateTime.fromISO('2024-01-16')).name; // Den památky Jana Palacha
Visit the significant days page for more information.
Easter Monday (Velikonoční pondělí) and Good Friday (Velký pátek) are public holidays in the Czech Republic.
Library can calculate the Easter date for a given year (it's Sunday):
import {getEaster} from 'holidays-cs';
getEaster(2024).toISODate(); // 2024-03-31
getEaster(2025).toISODate(); // 2025-04-20
Need more? Check out the Easter Date library.
import {getGoodFriday, getHolySaturday, getEasterSunday, getEaster, getEasterMonday} from 'holidays-cs';
getGoodFriday(2024).toISODate(); // 2024-03-29
getHolySaturday(2024).toISODate(); // 2024-03-30
// Easter Sunday and Easter are the same
getEasterSunday(2024).toISODate(); // 2024-03-31
getEaster(2024).toISODate(); // 2024-03-31
getEasterMonday(2024).toISODate(); // 2024-04-01
You can also check if a given date is Good Friday, Holy Saturday, Easter Sunday or Easter Monday:
import {isGoodFriday, isHolySaturday, isEasterSunday, isEasterMonday} from 'holidays-cs';
import {DateTime} from 'luxon';
// 29. march 2024 - Good Friday
isGoodFriday(DateTime.fromISO('2024-03-29')); // true
// 30. march 2024 - Holy Saturday
isHolySaturday(DateTime.fromISO('2024-03-30')); // true
// 31. march 2024 - Easter Sunday
isEasterSunday(DateTime.fromISO('2024-03-31')); // true
// 1. april 2024 - Easter Monday
isEasterMonday(DateTime.fromISO('2024-04-01')); // true
You can also check if given date is part of the Holy Week. Holy Week is the week before Easter plus Easter Monday. Starts with Palm Sunday and ends with Easter Monday.
import {isHolyWeek, getHollyWeekInterval} from 'holidays-cs';
// 29. march 2024
isHolyWeek(DateTime.fromISO('2024-03-29')); // true it's Good Friday
// Get the Holy Week interval
getHollyWeekInterval(2024) // {start: DateTime, end: DateTime}
You can also get the name of the day in the Holy Week:
import {DateTime} from 'luxon';
import {getEasterDayName} from 'holidays-cs';
getEasterDayName(DateTime.fromISO('2024-03-29')); // Velký pátek
You can get metadata for a given date:
import {DateTime} from 'luxon';
import {getDayMeta} from 'holidays-cs';
const meta = getDayMeta(DateTime.fromISO('2024-05-15'));
meta.isPublicHoliday; // false ...
The metadata object looks like this:
export type SignificantDay = {
name: string;
description: string;
year?: number;
};
export type EasterMetadata = {
name: string | undefined;
isGoodFriday: boolean;
isHolySaturday: boolean;
ieEasterSunday: boolean;
isEasterMonday: boolean;
};
export type DayMetadata = {
// Significant days metadata
isSignificantDay: boolean;
significantDay?: SignificantDay;
// Public holidays metadata
isPublicHoliday: boolean;
publicHoliday?: string | undefined;
// Easter metadata
isHolyWeek: boolean;
easter?: EasterMetadata | undefined;
// Shops metadata
shops: {areOpen: boolean; status: string};
};