Biblioteca de feriados e datas comemorativas do Brasil

v1.1 2020-08-14 19:44 UTC

This package is auto-updated.

Last update: 2024-05-05 11:59:53 UTC


README

Latest Stable Version Author Software License

Instalação

composer require ricardokovalski/holidays

Uso básico

Coleções

Para obter uma coleção com todos os feriados (nacionais e não nacionais) e outras datas, basta você seguir a demonstração abaixo.

use Holidays\Collections\AllHolidays;

$collection = new AllHolidays();
$collection->getCollection();

Agora se quiser uma coleção de feriados nacionais e ordenados por data em ordem crescente, basta seguir o exemplo abaixo.

use Holidays\Collections\NationalHolidays;

$collection = new NationalHolidays();
$collection->orderByTimestamp()
    ->ascending()
    ->getCollection();

Quer saber qual é o primeiro registro da coleção, basta utiliza o método first().

use Holidays\Collections\NationalHolidays;

$collection = new NationalHolidays();
$collection->orderByTimestamp()
    ->ascending()
    ->first();

E o último registro da coleção?

use Holidays\Collections\NationalHolidays;

$collection = new NationalHolidays();
$collection->orderByTimestamp()
    ->ascending()
    ->last();

Filtrar por um período?

use Holidays\Collections\NationalHolidays;

$startDate = \DateTime::createFromFormat('d/m/Y', '01/01/2020');
$endDate = \DateTime::createFromFormat('d/m/Y', '30/06/2020');

$collection = new NationalHolidays();
$collection->between($startDate, $endDate)
    ->orderByTimestamp()
    ->ascending()
    ->getCollection();

Obter os feriados do próximo ano?

use Holidays\Collections\NationalHolidays;

$collection = new NationalHolidays(2021);
$collection->orderByTimestamp()
    ->ascending()
    ->getCollection();

Holiday

Formatando o timestamp da data.

use Holidays\Collections\NationalHolidays;

$collection = new NationalHolidays();
$holiday = $collection->orderByTimestamp()
    ->ascending()
    ->first();    
    
$holiday->formatter('d/m/Y');

Avançando no tempo, obtendo a data do feriado do próximo ano.

use Holidays\Collections\NationalHolidays;

$collection = new NationalHolidays();
$holiday = $collection->orderByTimestamp()
    ->ascending()
    ->first();    
    
$holiday->next();

Obtendo a data do feriado do ano passado.

use Holidays\Collections\NationalHolidays;

$collection = new NationalHolidays();
$holiday = $collection->orderByTimestamp()
    ->ascending()
    ->first();    
    
$holiday->previous();