Fixed vs Floating: Two Kinds of Holidays
Every country's holiday calendar is a mix of two types. Fixed holidays land on the same date every year: January 1 (New Year's Day), July 4 (US Independence Day), December 25 (Christmas). Simple. Predictable. Easy to plan around.
Floating holidays are the messy ones. They shift each year based on formulas, lunar cycles, or the whims of a particular weekday. Thanksgiving in the US is the fourth Thursday of November. Easter follows a formula involving the vernal equinox and the full moon. Eid al-Fitr tracks a literal moon sighting in some countries, meaning the exact date isn't confirmed until the night before.
There's a third, less-discussed category too: observed holidays. When a fixed holiday falls on a weekend, many countries shift the day off to the nearest weekday. The US moves Saturday holidays to Friday and Sunday holidays to Monday. Japan has a rule that if a national holiday falls on Sunday, the following Monday becomes a substitute holiday (furikae kyujitsu). The UK just picks the next Monday. These substitution rules vary by country, and they're a constant source of bugs in payroll and scheduling software — I've lost count of how many times I've seen "observed" vs "actual" date confusion in production systems.
Federal vs State vs Regional
In the US, Congress establishes federal holidays — currently 11 of them. But here's what trips people up: federal holidays technically only apply to federal employees and DC. States choose whether to observe them, and they often add their own. Texas celebrates Confederate Heroes Day. Hawaii has King Kamehameha Day. Massachusetts has Patriots' Day.
India takes this to another level. The central government declares 3 national holidays (Republic Day, Independence Day, Gandhi Jayanti). But each state declares its own "restricted" and "gazetted" holidays, often 20–30 of them, based on regional festivals. The result: India has more public holidays than almost any country, but no two states share the same list.
Germany's system is similar. Each of the 16 Bundesländer picks its own holidays. Bavaria has 13 public holidays. Berlin had just 9 until it added International Women's Day in 2019.
Canada adds another twist: provincial holidays that don't exist federally. Family Day is observed in most provinces in February, but the date varies — Ontario, Saskatchewan, and Alberta all celebrate it on different Mondays depending on the year. Quebec doesn't observe Family Day at all; they have National Patriots' Day in May instead. If you're building a Canadian payroll system, you effectively need a separate holiday engine per province.
The Politics of Creating (and Removing) Holidays
Holidays don't just appear out of thin air. They're the product of political pressure, historical events, and sometimes straight-up horse-trading between legislators. Juneteenth became a US federal holiday in 2021, but the push for it had been going on since the 1970s. It took a specific political moment — the racial justice protests of 2020 — to generate enough momentum for Congress to act.
Removing holidays is even harder. Almost nobody wants to be the politician who took away a day off. When the UAE restructured its workweek from Sunday–Thursday to Monday–Friday in 2022, it also shifted some holiday observances. The public backlash was immediate. Japan considered reducing the number of national holidays in the 1990s as an economic measure but backed off quickly — the tourism industry alone would have lost billions of yen.
Some countries get creative. South Africa renamed many apartheid-era holidays after the transition to democracy: Republic Day became Freedom Day, Settlers' Day became Heritage Day. The days off stayed; the meaning changed entirely. It's a neat political compromise — you don't lose the holiday, but you redefine what it celebrates.
Religious Holidays and the Lunar Problem
Religious holidays that follow lunar calendars create real scheduling headaches. The Islamic calendar is purely lunar — 354 days, roughly 11 days shorter than the Gregorian year. That's why Ramadan drifts backward through the seasons. In 2026, Ramadan is expected to begin around February 28. By 2030, it'll start in late January. By 2035, it'll be in December. This matters enormously for countries like Saudi Arabia, where the entire rhythm of public life — business hours, school schedules, court sessions — shifts during Ramadan.
Easter uses a lunisolar calculation codified in 325 AD at the Council of Nicaea, and it still confuses people: the first Sunday after the first full moon after the vernal equinox. In practice, it can fall anywhere between March 22 and April 25. But here's a wrinkle most people miss: the "full moon" in the Easter calculation isn't the astronomical full moon. It's the "ecclesiastical full moon," computed from tables that were fixed in the 6th century. These tables can disagree with the actual moon by a day or two. In 2019, the astronomical full moon was March 20 (just before the equinox), but the ecclesiastical full moon was April 18, pushing Easter all the way to April 21.
Countries with large multi-faith populations — India, Malaysia, Singapore — end up with holiday calendars that are genuinely hard to maintain. The dates change, the source calendars disagree, and somebody in HR has to figure it all out by October for the next year. Singapore's approach is instructive: they officially recognize holidays from Buddhism, Christianity, Hinduism, and Islam, which means the government has to track four different calendar systems. The Ministry of Manpower publishes the next year's holiday list every April, and businesses have 8+ months to prepare.
Bank Holidays vs Public Holidays
In the UK, people use "bank holiday" and "public holiday" interchangeably, but they're technically different. Bank holidays were established by the Banking and Financial Dealings Act of 1971 — they're days when banks close. Public holidays are days when workers are entitled to time off (or extra pay). Most overlap, but not all. Scotland has different bank holidays than England and Wales. Northern Ireland adds St. Patrick's Day and the Battle of the Boyne.
The distinction matters more than you'd think. In the UK, there's actually no statutory right to time off on a bank holiday — employers can require staff to work, as long as total annual leave meets the minimum (28 days including bank holidays). Contrast this with Germany, where public holidays are protected by law and employers generally cannot require work on those days. The French jour férié system is similar — May 1 (Labour Day) is the only holiday where work is completely prohibited by law; the others are technically negotiable, though in practice nobody works on Christmas.
Japan's approach is cleaner. The government designates kokumin no shukujitsu (national holidays) — currently 16 — and they apply uniformly. Japan also has "Happy Monday" laws that moved several holidays to Mondays to create three-day weekends, a system I honestly wish more countries would adopt. There's also a quirky rule: if two national holidays are separated by a single working day, that working day becomes a holiday too (kokumin no kyujitsu, or "citizens' holiday"). It happened in September 2009, creating an unexpected five-day break that caught some businesses off guard.
The Economic Impact of Holiday Placement
Where holidays fall on the calendar has real economic consequences. A Tuesday or Thursday holiday often leads to "bridge days" — workers taking Monday or Friday off to get a four-day weekend. In France, this is called faire le pont ("making the bridge"), and it's so common that businesses plan around it months in advance. When May 1 and May 8 both fall on Thursdays (as they did in 2008), French productivity basically evaporates for the entire first half of May.
Retail tells the opposite story. In the US, certain holidays are massive spending events. Black Friday (the day after Thanksgiving) generated an estimated $9.8 billion in online sales in 2023. Memorial Day and Labor Day weekends are peak travel periods. Moving a holiday by even one week can shift billions of dollars in economic activity. That's partly why there's periodic talk of making Thanksgiving the last Thursday of November instead of the fourth — in years when November starts on Friday, the fourth Thursday comes on the 22nd, leaving fewer shopping days before Christmas.
How Holiday Calendars Are Maintained
For developers and businesses, the real question is: who maintains the data? The Nager.Date API sources from government gazettes. Google Calendar maintains its own internal list. The python-holidays library is open-source and community-maintained, covering 50+ countries. None of them agree perfectly, because the source of truth is scattered across government websites, PDFs, and sometimes just... tradition.
I've seen payroll bugs caused by a state adding a holiday mid-year with 30 days' notice. It happens more than you'd think.
The deeper problem is that holiday data has no universal API. The UN doesn't maintain a list. The ISO doesn't define one. Each country publishes its own list in its own format — sometimes as a government gazette PDF, sometimes as a press release, sometimes on an obscure government website that changes URL every year. If you're building software that serves multiple countries, you're essentially subscribing to dozens of separate data feeds, each with its own quirks and update schedule. Some companies, like Nager.Date and AbstractAPI, have turned this into a service precisely because the maintenance burden is so high.
For what it's worth, my recommendation if you're building something that depends on holiday data: don't try to maintain the list yourself. Use an established API or open-source library, keep it updated, and build in a mechanism for manual overrides when a government does something unexpected. Because they will.
Frequently Asked Questions
Who decides US federal holidays?
Congress. Federal holidays are established by law (5 U.S.C. § 6103). The president can declare a one-time holiday by executive order (as happened for the funeral of George H.W. Bush), but only Congress can create permanent ones. The last addition was Juneteenth in 2021.
Why does Easter move every year?
Easter follows a formula set in 325 AD: it's the first Sunday after the first ecclesiastical full moon on or after March 21. The "ecclesiastical full moon" uses a table-based calculation, not actual astronomy, which is why it sometimes disagrees with the real full moon by a day or two.
What's the difference between a bank holiday and a public holiday?
Bank holidays are specific days when banks and financial institutions close, established by legislation (in the UK, the Banking and Financial Dealings Act 1971). Public holidays are days workers get off. In most countries they overlap entirely, but in the UK, Scotland has different bank holidays from England and Wales.
How many public holidays does the US have?
The US has 11 federal holidays. However, federal holidays technically only apply to federal employees and Washington, D.C. Each state decides whether to observe them and may add its own holidays, so the actual number varies by state.
Which country has the most public holidays?
India and Cambodia are among the countries with the most public holidays, often exceeding 25 per year. India's count varies by state because each state declares its own regional holidays on top of the 3 national ones.
Can a president create a permanent US holiday?
No. Only Congress can establish permanent federal holidays by passing legislation. The president can declare a one-time federal holiday by executive order, such as a national day of mourning, but it does not recur without an act of Congress.
Why do some holidays fall on different dates each year?
Floating holidays are tied to formulas or calendar rules rather than fixed dates. For example, Thanksgiving is the fourth Thursday of November, and Easter depends on a lunisolar calculation involving the vernal equinox and the full moon. Religious holidays following lunar calendars shift because the lunar year is about 11 days shorter than the Gregorian year.
Sources
- U.S. Office of Personnel Management — Federal Holidays (opm.gov)
- UK Government — Bank holidays (gov.uk)
- Council of Nicaea computus rules (325 AD)
- Nager.Date API documentation (date.nager.at)