PHPackages                             liujia/holiday-or-workday - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. liujia/holiday-or-workday

ActiveLibrary

liujia/holiday-or-workday
=========================

一个基于免费接口获取数据，并处理数据，从而方便判断天朝工作日的工具

1.0.1(8y ago)272MITPHP

Since Dec 4Pushed 8y ago1 watchersCompare

[ Source](https://github.com/CallMeSirLiu/holidayOrWorkday)[ Packagist](https://packagist.org/packages/liujia/holiday-or-workday)[ RSS](/packages/liujia-holiday-or-workday/feed)WikiDiscussions master Synced today

READMEChangelog (2)DependenciesVersions (3)Used By (0)

> 一个基于免费接口获取数据，并处理数据，从而方便判断天朝工作日的工具 正常情况，执行一次，可以获取某一年的所有数据，缓存之后直接调用判断就行 2017-09-06

- 纯PHP
- 第三方接口用的是[聚合数据的万年历](https://www.juhe.cn/docs/api/id/177)

更新
--

[](#更新)

### 2017-12-04

[](#2017-12-04)

- 可以通过 composer 安装
- 整理了新的数据目录

### 2017-09-07

[](#2017-09-07)

- 减少已经循环已经处理过的节日
- 区分多个假日和单个假日数据格式不同
- 通过判断日期，增加未获取到数据的年份重新获取数据的触发

使用
--

[](#使用)

### 注册聚合

[](#注册聚合)

使用接口需要[注册](https://www.juhe.cn/register)聚合数据的账号，并[申请](https://www.juhe.cn/docs/api/id/177)对应的数据；在工具中需要填入对应的`appkey`

### composer安装

[](#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`文件中,最好放到缓存中
- 文件是按年份存的
- 组装的数据格式

```
