colybri / business-day
此库允许您以简单的方式在Laravel应用程序中设置假日日历。
Requires
- php: ^7.1.3
- jenssegers/date: 3.5.*
- laravel/framework: 5.6.*|5.7.*
Requires (Dev)
- phpunit/phpunit: ^7.0
This package is auto-updated.
Last update: 2024-09-08 00:39:51 UTC
README
此日期库扩展了 Date,它反过来又扩展了 Carbon 库。因此,这些库的所有功能也都可以使用。此库允许您以简单的方式在Laravel应用程序中设置假日日历。
使用composer安装
composer require colybri/business-day
Laravel 5
对于Laravel 5.5或更低版本,您必须使用此库的版本1。
Laravel版本兼容性
在Laravel 5.6或更高版本中,此包将自动发现,您可以安全地跳过以下两个步骤。将以下内容添加到config/app.php
中的providers数组
Colybri\BusinessDay\BusinessDayServiceProvider::class,
您还可以将其添加为config/app.php
中的外观
'BusinessDay' => Colybri\BusinessDay\BusinessDay::class,
配置
首先,您必须在config/business-day.php
文件中配置您的假日日历选项。要编辑此包的默认配置,您可能需要执行以下操作
php artisan vendor:publish --provider="Colybri\BusinessDay\BusinessDayServiceProvider"
use Colybri\BusinessDay\BusinessDay; $date = BusinessDay::now(); return [ /* |-------------------------------------------------------------------------- | Holidays calendar |-------------------------------------------------------------------------- | */ 'restDay' => 0, //Sunday 'saturdayIsBusinessDay' => "false", 'holidays' => [ "01-01", $date->easterSunday()->addDay()->config(), $date->goodFriday()->config(), "06-01", //vacational periods [ "01-08", "31-08" ], [ "24-12", "27-12" ], ... ], ];
将选项restDay
设置为0将星期日设为假日。如果您不想默认使用这种行为,请将该字段设置为"false"。所有文字日期必须以"dd-mm"格式表示。如果您想使用此库中可用于移动假日的可用方法,必须在配置方法之后调用。您还可以通过开始和结束日期指示假期期间。
用法
BusinessDay类的函数列表
use Colybri\BusinessDay\BusinessDay; $date = BusinessDay::now(); $date->isBusinessDay(); //return true or false $date->nextBusinessDay(); $date->previousBusinessDay();
例如nextBusinessDay
和previousBusinessDay
方法返回一个包含Date和Carbon库所有功能的BusinessDay对象。
天主教假日
可用于天主教移动假日的函数
$date = new BusinessDay('2000-01-31', 'Europe/Brussels'); $date->ashWednesday(); $date->palmSunday(); $date->maundyThursday(); $date->goodFriday(); $date->easterSunday(); $date->easterMonday(); $date->ascensionDay(); $date->pentecostSunday(); $date->pentecostMonday();
所有这些方法都返回一个包含Date和Carbon库所有功能的BusinessDay对象。
注意!在下一个版本中,我将尝试包括其他宗教移动假日。
许可
Laravel BusinessDay根据MIT许可(MIT)进行许可。