Brazil Holiday é uma biblioteca PHP que diz se um dia é ou não feriado, por enquanto temos só os feriados mais importantes mas estamos em constante atualização e sempre adicionando novos feriados!
A biblioteca pode ser instalada pelo composer (e é o mais recomendado), o comando para instalar é este abaixo:
composer require gs-nasc/brazil-holiday
via Packagist
A biblioteca é de fácil implementação e utilização abaixo estão códigos de exemplo:
Obs. lembre-se de carregar o autoload do composer
use BrazilHoliday\Holiday;
$holiday = new Holiday();
// Aqui carregamos o ano que vamos usar para encontrarmos o feriado
// Somente feriados que não são dias úteis (Ex: Natal)
$holiday->load(2021);
// Todos os feriados ( Ex: Dia da Bandeira )
$holiday->load(2021, "all");
// troque 2021 pelo ano que irá utilizar
// No lugar de 01/01/2021 coloque a data que você quer
//saber se é feriado, siga o padrão que está ali!
$date = DateTime::createFromFormat('d/m/Y', '01/01/2021');
// Finalmente verificamos se é ou não feriado
$feriado = $holiday->isHoliday($date);
echo ($feriado) ? "Feriado " . $feriado->title : "Não é feriado";
// OU
if($feriado) {
$foo = "Feriado " . $feriado->title;
}else{
$foo = "Não é feriado";
}
echo $foo;use BrazilHoliday\Holiday;
$holiday = new Holiday();
// Aqui carregamos o ano que vamos usar para encontrarmos o feriado
// Somente feriados que não são dias úteis (Ex: Natal)
$holiday->load(2021);
// Todos os feriados ( Ex: Dia da Bandeira )
$holiday->load(2021, "all");
// troque 2021 pelo ano que irá utilizar
// Finalmente verificamos se é ou não feriado
$feriado = $holiday->todayHoliday();
echo ($feriado) ? "Feriado " . $feriado->title : "Não é feriado";
// OU
if($feriado) {
$foo = "Feriado " . $feriado->title;
}else{
$foo = "Não é feriado";
}
echo $foo;use BrazilHoliday\Holiday;
$holiday = new Holiday();
// Aqui carregamos o ano que vamos usar para encontrarmos o feriado
// Somente feriados que não são dias úteis (Ex: Natal)
$holiday->load(2021);
// Todos os feriados ( Ex: Dia da Bandeira )
$holiday->load(2021, "all");
// troque 2021 pelo ano que irá utilizar
// Finalmente verificamos se é ou não feriado
$feriado = $holiday->tomorrowHoliday();
echo ($feriado) ? "Feriado " . $feriado->title : "Não é feriado";
// OU
if($feriado) {
$foo = "Feriado " . $feriado->title;
}else{
$foo = "Não é feriado";
}
echo $foo;use BrazilHoliday\Holiday;
$holiday = new Holiday();
// Aqui carregamos o ano que vamos usar para encontrarmos o feriado
// Somente feriados que não são dias úteis (Ex: Natal)
$holiday->load(2021);
// Todos os feriados ( Ex: Dia da Bandeira )
$holiday->load(2021, "all");
// troque 2021 pelo ano que irá utilizar
// Finalmente verificamos se é ou não feriado
$feriado = $holiday->yesterdayHoliday();
echo ($feriado) ? "Feriado " . $feriado->title : "Não é feriado";
// OU
if($feriado) {
$foo = "Feriado " . $feriado->title;
}else{
$foo = "Não é feriado";
}
echo $foo;Quando é feriado a biblioteca retorna um objeto com os seguintes atributos:
- title (Título do feriado. Ex: Ano Novo)
- date (Data do feriado. Ex: 01/01/2021)
- type (Tipo do feriado. Ex: Feriado Nacional)
Quando não é feriado a biblioteca retorna false
Se você está sentindo falta de algum feriado ou quer arrumar algum bug que encontrou siga os passos abaixo:
Para adicionar um novo feriado fixo (Ex: Natal) é só fazer um fork deste respositório e editar o arquivo dates.json que se econtra na pasta src/ seguindo seus padrões, quando terminar é só fazer um Pull Request que eu analizarei o pedido e caso se enquadre na Biblioteca adicionarei no projeto.
Para adicionar um novo feriado móvel basta abrir uma Issue dizendo qual o feriado que eu buscarei um método de adiciona-lo no projeto
Caso queira arrumar algum bug é só fazer fork do projeto, arrumar o bug e fazer testes para ver se tudo continua funcionando, caso tudo funcione fazer um Pull Request para ser implementado.
| Status | |
|---|---|
| Ano Novo | ✔️ |
| Dia Internacional da Mulher | ✔️ |
| Dia da Mentira | ✔️ |
| Dia do Índio | ✔️ |
| Tiradentes | ✔️ |
| Descobrimento do Brasil | ✔️ |
| Dia do Trabalhador | ✔️ |
| Dia da Abolição da Escravatura | ✔️ |
| Dia Mundial do Meio Ambiente | ✔️ |
| Dia dos Namorados | ✔️ |
| Dia de São João | ✔️ |
| Dia do Amigo | ✔️ |
| Dia dos Avós | ✔️ |
| Dia do Estudante | ✔️ |
| Dia do Folclore | ✔️ |
| Dia do Soldado | ✔️ |
| Independência do Brasil | ✔️ |
| Dia da Árvore | ✔️ |
| Dia Internacional da Paz | ✔️ |
| Dia das Crianças | ✔️ |
| Nossa Senhora Aparecida | ✔️ |
| Dia do Professor | ✔️ |
| Dia Nacional do Livro | ✔️ |
| Halloween | ✔️ |
| Finados | ✔️ |
| Proclamação da República | ✔️ |
| Dia da Bandeira | ✔️ |
| Dia Nacional da Consciência Negra | ✔️ |
| Dia Internacional dos Direitos Humanos | ✔️ |
| Véspera de Natal | ✔️ |
| Natal | ✔️ |
| Véspera de Ano Novo | ✔️ |
| Carnaval | ✔️ |
| Páscoa | ✔️ |
| Sexta-Feira Santa | ✔️ |
| Corpus Christ | ✔️ |
| Dia da Mães | ✔️ |
| Dia dos Pais | ✔️ |
| Dia do Servidor Público | ✔️ |