Hijri (Umm al-Qura) Date Picker
A Hijri date & time picker for FilamentPHP that shows both calendars while picking and stores whichever one you choose. Free and open source.
Tech
- Laravel
- FilamentPHP
- PHP
- JavaScript
A Hijri date and time picker for FilamentPHP panels, built on the official Umm al-Qura calendar. The user sees both calendars while picking, so they always know exactly which day they are choosing.
Highlights
- A real Hijri month grid: month lengths (29 or 30 days) come from the official tables, not an arithmetic approximation.
- Two independent axes: the display calendar and the storage calendar are separate, in any combination — for example Hijri in the UI and Gregorian in the database, with no schema changes.
- The equivalent date is always visible, and an in-panel button flips the grid between Hijri and Gregorian without changing the stored value.
- Time support with hours, minutes, and seconds.
- Server-side validation: dates that don't exist (such as 30 Safar) are rejected with a translatable message.
- RTL, dark mode, Arabic and English month names, and optional Eastern Arabic numerals.
Matching national IDs
The picker follows the Umm al-Qura calendar as it was published at the time. That matters before 1420 AH: today's official service applies the current criterion retroactively and can land a day off from what the almanac printed — and the printed date is what Saudi national IDs and civil records hold. So a birth date round-trips against the ID.
Installation
composer config repositories.ummulqura-calendar vcs https://github.com/AsimNet/ummulqura-calendar
composer config repositories.filament-ummulqura-date-picker vcs https://github.com/AsimNet/filament-ummulqura-date-picker
composer require asimnet/filament-ummulqura-date-picker
php artisan filament:assets
Conversions run on ummulqura-calendar, a library I built for exactly this.