Bodu.Globalization.Calendar.MiddleEast
1.0.0
dotnet add package Bodu.Globalization.Calendar.MiddleEast --version 1.0.0
NuGet\Install-Package Bodu.Globalization.Calendar.MiddleEast -Version 1.0.0
<PackageReference Include="Bodu.Globalization.Calendar.MiddleEast" Version="1.0.0" />
<PackageVersion Include="Bodu.Globalization.Calendar.MiddleEast" Version="1.0.0" />
<PackageReference Include="Bodu.Globalization.Calendar.MiddleEast" />
paket add Bodu.Globalization.Calendar.MiddleEast --version 1.0.0
#r "nuget: Bodu.Globalization.Calendar.MiddleEast, 1.0.0"
#:package Bodu.Globalization.Calendar.MiddleEast@1.0.0
#addin nuget:?package=Bodu.Globalization.Calendar.MiddleEast&version=1.0.0
#tool nuget:?package=Bodu.Globalization.Calendar.MiddleEast&version=1.0.0
Bodu.Globalization.Calendar.MiddleEast
API stability — Stable. The public API surface is committed; breaking changes are reserved for a major-version bump per SemVer.
Holiday and observance data for the Middle East, packaged for the Bodu.Globalization.Calendar engine. Each supported country ships as a self-contained embedded notable-date pack — national rules plus ISO 3166-2 subdivisions — that imports the shared Islamic (including the Umm al-Qura variant) and Jewish catalogues through the middleeast-common hub. Working-week definitions are territory-specific (several territories observe a Friday–Saturday weekend).
Installation
dotnet add package Bodu.Globalization.Calendar.MiddleEast
Targets net8.0.
Supported territories
AE (United Arab Emirates), IL (Israel), JO (Jordan), QA (Qatar), SA (Saudi Arabia), TR (Turkey).
Usage
using Bodu.Globalization.Calendar;
INotableDateService service = MiddleEastCalendarData.CreateService("AE");
var holidays = service.GetNotableDates(new DateOnly(2026, 1, 1), new DateOnly(2026, 12, 31));
The MiddleEastCalendarData factory exposes:
| Member | Purpose |
|---|---|
SupportedCountries |
The ISO 3166-1 codes this pack resolves |
LoadResource(territory) |
The validated NotableDateResource for a country (and its subdivisions) |
CreateService(territory) |
A ready-to-use INotableDateService for the territory |
Each country's working-week definition (and any weekend-substitution rules) is encoded in its pack and applied automatically by the working-day extensions.
Testing
dotnet test Bodu.Globalization.Calendar.Data/Bodu.Globalization.Calendar.MiddleEast/test/Bodu.Globalization.Calendar.MiddleEast.Test.csproj --settings bvt.runsettings
MiddleEastCalendarDataTests pins every floating or computed holiday (Hijri and Hebrew festivals, weekend-substitution shifts) to confirmed published dates — exact where deterministic, with a ±2-day tolerance for moon-sighting festivals — plus a CreateService_ForEverySupportedCountry_LoadsAndResolves smoke test.
License
MIT. © Bodu Pty. Ltd.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- Bodu.Globalization.Calendar (>= 1.0.0)
-
net8.0
- Bodu.Globalization.Calendar (>= 1.0.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.