We are trying to gather meta Holiday Information for different countries here, to see how different countries implement holidays. This could be used as data to have support for holidays in different countries.
Random bits of information:
- An important prerequisite for good implementations of holidays is alternative calendars. Some of the (non-Gregorian) calendars that need implementing are: the Islamic lunar calendar for Islamic countries, the Chinese lunar calendar and its variants (like Japanese, Vietnamese, and Bhutanese) for east Asian countries, the Persian calendar (for Iran and Afghanistan), the Thai lunar calendar (for Thailand), and the Hebrew calendar (for Israel). Some of these may be hard to implement. An example is the Bhutanese calendar. To quote Christopher Fynn: "Months have dates going up to 30 - but some dates are dropped to make 28 actual days - just which dates are omitted being based on complex astrological calculations. Occasionally dates are doubled - so a month may have e.g. two 10ths."
- Holidays have introduction days and may also have ending dates. To stop making this a history project, we should try to have a cutting date, like 2000 CE (or 1970 CE).
- Many countries only use fixed Gregorian dates for holidays. Examples: (FYR of) Macedonia.
In some countries, like the United States, some of the holidays are based on both week days and calendar dates. For example, Thanksgiving in the US happens on the fourth Thursday in November. Or in Germany's state of Saxony, there is a holiday on the Wednesday between November 16 and 22 .
- Some countries also make fixed days in alternative calendars holidays. Examples include China, India, Bhutan, Iran, Afghanistan, Israel, ...
Easter (and related holidays) may be hard to compute in some countries, but they are not necessarily harder than computing the Islamic calendar and such. (See also Computus on the English Wikipedia.) Usually, Easter has some days after and before it as holidays. Some such examples are Easter Monday (the day after Easter, which is always a Sunday) and Good Friday (the Friday before Easter).
- Iran has two kinds of holidays. Those based on the Persian calendar and those based on the Islamic calendar. Both types are fixed days in the calendar, like Farvardin 12 (in the Persian calendar) or Shawwal 1 (in the Islamic calendar). But the Islamic calendar may change from under your foot, so while the holiday remains on Shawwal 1, the real day Shawwal 1 is happening on may change. In some cases, the exact date is not even fixed the date before.
- Some sub-country entities, like states or provinces of countries, may have different holidays. For example, in India, some holidays are national ones, while some others (about four holidays each year) are different in different states.
- Some countries introduce additional holidays when a normal holiday happens on the same day with a week holiday. For example, in Ireland, when a fixed-date holiday happens on a Sunday, the next non-holiday will become a holiday.
- Some countries have procedures for working days that fall between two holidays. They may sometimes make it a holiday, or make automatic changes to public programs. Quoting Egmon Hoblinger: "[In Hungary] If a public holiday happens to fall to Tuesday or Thursday, then usually there's a long weekend (4 days), but the extra day (Monday or Friday next to the holiday's date) is swapped with a Saturday. For example, now that Nov 1 (Thu) will be a holiday, the following saturday (Nov 5) will be held on Oct 30, and Oct 30 (a regular Monday work-day) will be held on Nov 5, so people will have to go to work on Mon 5, in schools there'll be the lessons of a usual Monday and so on..."
The GNU gcal package (download) has some support for holiday information and calculation, which is far from accurate or updated. The software is not maintained anymore either. But it may be used as an educational tool to see what could be done.