spatie/holidays
Calculate public holidays by country (ISO alpha-2) with a simple API. Get an array of Holiday objects including localized name, CarbonImmutable date, and type (e.g., national). Supports multiple countries and is easy to extend by adding new country definitions.
Feature Development:
Roadmap Prioritization:
spatie/laravel-translatable for multi-language holiday displays or spatie/calendar for Ethiopian-specific event rendering.Use Cases:
Adopt When:
Look Elsewhere If:
*"This 2.1.0 update extends our holiday logic to Ethiopia, unlocking new opportunities:
Example Use Cases:
ROI: Minimal lift for high-impact features, especially if targeting Africa or multicultural audiences. Alternatives (custom dev) would require ongoing updates for Ethiopian-specific rules (e.g., leap years in the Ethiopian calendar)."*
*"Key Additions in 2.1.0:
Enkutatash).How to Leverage This:
// Check if a date is an Ethiopian holiday
$isHoliday = Holidays::for('et')->isHoliday($date);
// Get Ethiopian holidays for a year (auto-handles leap years)
$holidays = Holidays::for('et', '2026')->get();
locale() method:
$holiday->name('et'); // Returns "እንቁጣጣሽ" (Enkutatash)
spatie/laravel-calendar to render Ethiopian holidays in date pickers.if (Holidays::for('et')->isHoliday($date)) { rejectOrder(); }).Trade-offs:
Recommendation:
Example Workflow:
// Ethiopian payroll system
$ethiopianHolidays = Holidays::for('et')->get();
$validWorkdays = collect($dates)->reject(fn ($date) =>
$ethiopianHolidays->contains(fn ($h) => $h->date->eq($date))
);
```"*
---
**Key Selling Points**:
- **For Execs**: Unlocks African markets and non-Gregorian support with minimal effort; highlights inclusivity and compliance.
- **For Engineers**: Zero maintenance for Ethiopian holidays, seamless Laravel integration, and extensibility for other calendars.
How can I help you explore Laravel packages today?