liujia / holiday-or-workday
一个基于免费接口获取数据,并处理数据,从而方便判断天朝工作日的工具
1.0.1
2017-12-04 06:55 UTC
This package is not auto-updated.
Last update: 2025-06-29 12:19:46 UTC
README
一个基于免费接口获取数据,并处理数据,从而方便判断天朝工作日的工具 正常情况,执行一次,可以获取某一年的所有数据,缓存之后直接调用判断就行 2017-09-06
- 纯PHP
- 第三方接口用的是聚合数据的万年历
更新
2017-12-04
- 可以通过 composer 安装
- 整理了新的数据目录
2017-09-07
- 减少已经循环已经处理过的节日
- 区分多个假日和单个假日数据格式不同
- 通过判断日期,增加未获取到数据的年份重新获取数据的触发
使用
注册聚合
使用接口需要注册聚合数据的账号,并申请对应的数据;在工具中需要填入对应的appkey
composer安装
可以通过composer安装
composer require liujia/holiday-or-workday
实例化使用
只需要调用一个isWorkday
方法就可以了
$obj = new \HolidayOrWorkday\holidayOrWorkday('申请的appkey');
var_dump($obj->isWorkday('2017-12-03'));
注意,命名空间和类名有一个大小写的差别
返回值
通过传入比如2017-09-07
或者2017-9-7
格式,返回对应日期的假日状态,返回值为数组形式
array( 'status' => 1, )
这里定义的status
的值,工作日为1,休息日为2(加班2倍工资),节假日为3(加班应该是3倍工资),方便计算O(∩_∩)O。
处理
- 通过聚合数据的
最近假日
来逐月获取假日信息 - 将获取的数据进行自定义处理,并“缓存”起来
- 之后的判断直接使用
其他
-
组装的数据可以存放到任何文件或者任何存储中,本例为了使用方便,直接存到
php
文件中,最好放到缓存中 -
文件是按年份存的
-
组装的数据格式
<?php return array ( '2016-12-31' => array ( 'status' => 3, ), '2017-1-1' => array ( 'status' => 3, ), ... ?>