Pular para o conteúdo
← Voltar para projetos

Laravel Brazil Holidays

Brazilian national holidays for Laravel: holiday list per year, holiday and business day checks, and business day arithmetic.

Laravel Brazil Holidays

#Laravel Brazil Holidays

Latest Version on Packagist Tests Total Downloads

Brazilian national holidays (feriados nacionais) for Laravel: list the holidays of a year, check whether a date is a holiday or a business day, and add or subtract business days.

Easter is calculated in pure PHP, so ext-calendar is not required.

#Installation

composer require jeffersongoncalves/laravel-brazil-holidays

Optionally publish the config file:

php artisan vendor:publish --tag="brazil-holidays-config"

#Holidays

Date Holiday
01/01 Confraternização Universal
Easter − 2 Paixão de Cristo (Good Friday)
21/04 Tiradentes
01/05 Dia do Trabalho
07/09 Independência do Brasil
12/10 Nossa Senhora Aparecida
02/11 Finados
15/11 Proclamação da República
20/11 Dia Nacional de Zumbi e da Consciência Negra (from 2024, Lei 14.759/2023)
25/12 Natal

With include_optional enabled, the federal pontos facultativos are also treated as holidays: Carnival Monday and Tuesday (Easter − 48 / − 47) and Corpus Christi (Easter + 60).

#Usage

use JeffersonGoncalves\BrazilHolidays\Facades\BrazilHolidays;

BrazilHolidays::forYear(2026);
// ['2026-01-01' => 'Confraternização Universal', '2026-04-03' => 'Paixão de Cristo', ...]

BrazilHolidays::isHoliday('2026-09-07');      // true
BrazilHolidays::isBusinessDay(now());         // false on weekends and holidays

BrazilHolidays::addBusinessDays('2026-10-09', 1);   // 2026-10-13 (skips the weekend and 12/10)
BrazilHolidays::addBusinessDays('2026-10-13', -1);  // 2026-10-09

BrazilHolidays::easter(2026);                 // 2026-04-05

Dates may be strings or any DateTimeInterface; results are Carbon\CarbonImmutable.

You can also inject or instantiate the class directly:

use JeffersonGoncalves\BrazilHolidays\BrazilHolidays;

$holidays = new BrazilHolidays(includeOptional: true, extra: ['09-20' => 'Revolução Farroupilha']);

#Configuration

return [
    // Treat Carnival and Corpus Christi as holidays.
    'include_optional' => env('BRAZIL_HOLIDAYS_INCLUDE_OPTIONAL', false),

    // Extra fixed-date holidays (state or municipal), as 'MM-DD' => 'Name'.
    'extra' => [
        // '09-20' => 'Revolução Farroupilha',
        // '01-25' => 'Aniversário de São Paulo',
    ],
];

#Testing

composer test

#Credits

#License

The MIT License (MIT). Please see License File for more information.

Nova versão disponível.