npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

holidays-cs

v2.1.2

Published

Public holidays, Easter, name days and important days in the Czech Republic.

Downloads

254

Readme

Holidays (cs)

NPM Downloads NPM Version NPM License Last Commit GitHub Workflow Status

Public holidays and significant days in the Czech Republic.

Functions

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.

Czech public holidays

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

Shops status

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

Czech significant days

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

Easter Monday (Velikonoční pondělí) and Good Friday (Velký pátek) are public holidays in the Czech Republic.

Easter date

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.

Easter days

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

Holy Week

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

Get day metadata

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};
};

Credits

License

MIT