gs-nasc/brazil-holiday

PHP 包,用于验证日期是否为节假日。

1.0.4 2021-01-28 19:21 UTC

This package is auto-updated.

Last update: 2024-09-23 01:43:52 UTC


README

Brazil Holiday 是一个 PHP 库,可以判断某一天是否为节假日。目前我们只提供了最重要的节假日,但我们正在不断更新,并持续添加新的节假日!

Bugs Code Smells Maintainability Rating Security Rating Reliability Rating

入门指南

安装

该库可以通过 composer 安装(这也是最推荐的方式),安装命令如下

composer require gs-nasc/brazil-holiday

通过 Packagist

实现

该库易于实现和使用,以下是一些示例代码
注意:请记得加载 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;

当是节假日时,该库会返回一个具有以下属性的对象

  • title (节假日名称。例如:新年)
  • date (节假日日期。例如:01/01/2021)
  • type (节假日类型。例如:全国节假日)

当不是节假日时,该库返回 false

如何帮助?

如果您觉得缺少某个节假日或想修复您发现的某个错误,请按照以下步骤操作

添加新的节假日

固定节假日

要添加一个新的固定节假日(例如:圣诞节),只需在此存储库上进行分叉并编辑位于 src/ 目录下的 dates.json 文件,按照其标准进行编辑。完成后,只需发起一个 Pull Request,我会审查您的请求。如果符合该库的要求,我会将其添加到项目中。

移动节假日

要添加一个新的移动节假日,只需创建一个 Issue,说明我需要添加的节假日及其计算方法。

修复错误

如果您想修复某个错误,只需对项目进行分叉,修复错误并进行测试以确保一切仍然正常工作。如果一切正常,请发起一个 Pull Request 以将其实施。

可用节假日表格