composer require ricardokovalski/holidays
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();
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();