gs-nasc / brazil-holiday
PHP 包,用于验证日期是否为节假日。
1.0.4
2021-01-28 19:21 UTC
README
Brazil Holiday 是一个 PHP 库,可以判断某一天是否为节假日。目前我们只提供了最重要的节假日,但我们正在不断更新,并持续添加新的节假日!
入门指南
安装
该库可以通过 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 以将其实施。