worldwide holidays
This pull request improves the accuracy of the Eid al-Fitr holiday for Saudi Arabia by correcting its base rule and updating the corresponding test fixtures to validate the change. #### Background and The Problem The current holiday definitions for Saudi Arabia were contributed through a previous pull request by me. However, I have since realized that I misinterpreted the official regulations regarding the start date of the Eid al-Fitr holiday. I had incorrectly set the start date *on* the 29th of Ramadan. The official rule, as specified in the **Implementing Regulations of the Saudi Arabian Labor Law**, states that the holiday begins on the day *after* the 29th of Ramadan. This misinterpretation caused the library to generate incorrect Eid al-Fitr dates. #### The Solution This patch implements the following changes to correct this issue: 1. **Corrected Eid al-Fitr Rule:** The base rule for Eid al-Fitr has been changed from `29 Ramadan P4D` to `30 Ramadan P4D`. This single change correctly adjusts the holiday start date by one day. * **Note on `caldate`-specific behavior:** To define the holiday for "the day after the 29th of Ramadan," we use the `30 Ramadan` notation. This rule is based on Article 24 of the Implementing Regulations of the Saudi Arabian Labor Law (اللائحة التنفيذية لنظام العمل), which explicitly states the Eid al-Fitr holiday begins on the day following the 29th of Ramadan. This is necessary because the 30th day of Ramadan does not always exist in the Hijri calendar (which can be 29 or 30 days long). The `date-holidays` library's internal dependency, `caldate`, correctly interprets `30 Ramadan` as the day following the 29th, even in months with only 29 days. We acknowledge this is a `caldate`-specific behavior that could cause unpredictable results or bugs if the underlying Hijri library is ever replaced, but it is the only available method to express this rule correctly at this time. 2. **Updated Test Fixtures:** The test fixtures for Saudi Arabia from 2015 through 2029 (`test/fixtures/SA-*.json`) have been updated to reflect the corrected Eid al-Fitr dates. This ensures our test suite accurately validates the new, correct rule. 3. **Enhanced Documentation:** Verifiable sources for recent and upcoming Eid holidays (2021-2025) have been added as comments in `data/countries/SA.yaml` to provide clear evidence and assist with future maintenance.
This issue appears to be discussing a feature request or bug report related to the repository. Based on the content, it seems to be still under discussion. The issue was opened by hnw and has received 0 comments.