转载地址:http://timor.tech/api/holiday

获取指定日期的节假日信息

接口地址:http://timor.tech/api/holiday/info/$date
@params $date: 指定日期的字符串,格式 ‘2018-02-23’。可以省略,则默认服务器的当前时间。
@return json: 如果不是节假日,holiday字段为null。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
{ 
"code": 0, // 0服务正常。-1服务出错
"type": {
"type": enum(0, 1, 2, 3), // 节假日类型,分别表示 工作日、周末、节日、调休。
"name": "周六", // 节假日类型中文名,可能值为 周一 至 周日、假期的名字、某某调休。
"week": enum(1 - 7) // 一周中的第几天。值为 1 - 7,分别表示 周一 至 周日。
},
"holiday": {
"holiday": false, // true表示是节假日,false表示是调休
"name": "国庆前调休", // 节假日的中文名。如果是调休,则是调休的中文名,例如'国庆前调休'
"wage": 1, // 薪资倍数,1表示是1倍工资
"after": false, // 只在调休下有该字段。true表示放完假后调休,false表示先调休再放假
"target": '国庆节' // 只在调休下有该字段。表示调休的节假日
}
}

示例:

http://timor.tech/api/holiday/info/2018-3-2
http://timor.tech/api/holiday/info/2018-03-02
http://timor.tech/api/holiday/info

批量查询指定日期节假日信息

接口地址:http://timor.tech/api/holiday/batch?d=$date&type=Y

@params d: 指定日期的字符串,多个日期之间使用 & 连接。最大长度查询个数50。兼容旧的格式用逗号,隔开,但不建议。格式 ‘2018-02-23’。
@params type: 是否返回日期类型,默认不返回。可选值:’Y’ 返回,’N’ 不返回。
@return json: 返回以日期为key的对象。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
{
"code": 0, // 0服务正常。-1服务出错
"holiday": { // 传过来的日期是什么,key就是什么。传多少个就有多少个。
"2017-10-01": { // holiday的值都是一致的
"holiday": true,
"name": "国庆节",
"wage": 2
},
"2017-9-12": null // 如果不是节假日,则为null
},
"type": { // 只有明确指定参数 type=Y 时才返回类型信息
"2017-10-01": { // 一一对应holiday对象的key,holiday有多少个这里就有多少个
"type": enum(0, 1, 2, 3), // 节假日类型,分别表示 工作日、周末、节日、调休。
"name": "周六", // 节假日类型中文名,可能值为 周一 至 周日、假期的名字、某某调休。
"week": enum(1 - 7) // 一周中的第几天。值为 1 - 7,分别表示 周一 至 周日。
}
}
}

示例:

http://timor.tech/api/holiday/batch?d=2018-3-1
http://timor.tech/api/holiday/batch?d=2020-01-01&d=2020-01-02
http://timor.tech/api/holiday/batch?d=2017-10-01,2018-6-01,2018-10-1

获取指定日期的下一个节假日(如果在放假前有调休,也会返回)

接口地址: http://timor.tech/api/holiday/next/$date?type=Y&week=Y

@params $date: 指定日期的字符串,格式 ‘2018-02-23’。可以省略,则默认服务器的当前时间。
@params type: 是否返回日期类型,默认不返回。可选值:’Y’ 返回,’N’ 不返回。
@params week: 节假日是否包含周末,默认不包含。可选值:’Y’ 包含周末,’N’ 不包含。
@return json: 返回指定日期的下一个最近的节假日,如果在放假之前要调休,则会一起返回调休的信息。如果包含周末,则节日和周末冲突时,以节日为优先级。 比如特殊情况:周六是调休,则holiday返回周日,workday返回周六。其它情况以此类推,holiday永远会返回下一个节日。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
{
"code": 0, // 0服务正常。-1服务出错
"holiday": {
"holiday": true, // 该字段一定为true
"name": "国庆节", // 节假日的中文名。
"wage": 3, // 薪资倍数,3表示是3倍工资
"date": "2018-10-01" // 节假日的日期
"rest": 3 // 表示当前时间距离目标还有多少天。比如今天是 2018-09-28,距离 2018-10-01 还有3天
},
"workday": { // 如果节假日前没调休,则此字段为null
"holiday": false, // 此字段一定为false
"name": "国庆前调休", // 调休的中文名
"wage": 1, // 薪资倍数,3表示是3倍工资
"after": false, // true表示放完假后调休,false表示先调休再放假
"target": '国庆节', // 表示调休的节假日
"date": "2018-09-29" // 表示要调休的日期
"rest": 1 // 同上。表示当前时间距离目标还有多少天。
},
"type": { // 只有明确指定参数 type=Y 时才返回类型信息
"holiday": { // 对应 holiday 中的日期类型,只有返回 holiday 信息时才存在此日期类型
"type": enum(0, 1, 2, 3), // 节假日类型,分别表示 工作日、周末、节日、调休。
"name": "周六", // 节假日类型中文名,可能值为 周一 至 周日、假期的名字、某某调休。
"week": enum(1 - 7) // 一周中的第几天。值为 1 - 7,分别表示 周一 至 周日。
},
"workday": { // 对应 workday 中的日期类型,只有返回 workday 信息时才存在此日期类型
"type": enum(0, 1, 2, 3), // 节假日类型,分别表示 工作日、周末、节日、调休。
"name": "周六", // 节假日类型中文名,可能值为 周一 至 周日、假期的名字、某某调休。
"week": enum(1 - 7) // 一周中的第几天。值为 1 - 7,分别表示 周一 至 周日。
}
}
}

示例:

http://timor.tech/api/holiday/next/2018-6-1
http://timor.tech/api/holiday/next/2018-09-28
http://timor.tech/api/holiday/next

获取指定日期的下一个工作日(工作日包含正常工作日、调休)不包含当天

接口地址: http://timor.tech/api/holiday/workday/next/$date

@params $data: 指定日期的字符串,格式 ‘2020-01-20’。可以省略,则默认服务器的当前时间。
@return json: 返回指定日期的下一个最近的工作日。工作日包含正常工作日、调休,不包含当天。

1
2
3
4
5
6
7
8
9
10
{
"code": 0, // 0服务正常。-1服务出错
"workday": { // 如果没有查找到最近的工作日,则此字段为null。最大查找长度为30
"type": enum(0, 1, 2, 3), // 节假日类型,分别表示 工作日、周末、节日、调休。此接口只会返回 0 和 3 的类型。
"name": "周二", // 工作日类型中文名,可能值为 周一 至 周五、某某调休。
"week": enum(1 - 7) // 一周中的第几天。值为 1 - 7,分别表示 周一 至 周日。
"date": "2018-09-29" // 表示要工作的日期。
"rest": 1 // 同上。表示当前时间距离目标还有多少天。
}
}

示例:

http://timor.tech/api/holiday/workday/next/2018-6-1
http://timor.tech/api/holiday/workday/next/2018-09-28
http://timor.tech/api/holiday/workday/next

获取指定年份或年月份的所有节假日信息。默认返回当前年份的所有信息。

接口地址: http://timor.tech/api/holiday/year/$date?type=Y&week=Y

@params $date: 指定年份或年月份,格式 ‘2019-02’ ‘2019-2’ 或者 ‘2019’。可以省略,则默认服务器当前时间的年份。
@params type: 是否返回日期类型,默认不返回。可选值:’Y’ 返回,’N’ 不返回。
@params week: 节假日是否包含周末,默认不包含。可选值:’Y’ 包含周末,’N’ 不包含。
@return json: 返回指定年份或年月份的所有节假日,以日期作为key,格式:mm-dd。如果没有该年份或月份,则返回空对象。注意目前只配置了最多比当前时间往后一年的节假日。如果包含周末,则节日和周末冲突时,以节日为准。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
{
"code": 0, // 0服务正常。-1服务出错
"holiday": {
"10-01": {
"holiday": true, // 该字段一定为true
"name": "国庆节", // 节假日的中文名。
"wage": 3, // 薪资倍数,3表示是3倍工资
"date": "2018-10-01" // 节假日的日期
},
"10-02": {
"holiday": true, // 该字段一定为true
"name": "国庆节", // 节假日的中文名。
"wage": 3, // 薪资倍数,3表示是3倍工资
"date": "2018-10-01" // 节假日的日期
}
},
"type": { // 只有明确指定参数 type=Y 时才返回类型信息
"2018-10-01": { // 一一对应holiday对象的key,holiday有多少个这里就有多少个
"type": enum(0, 1, 2, 3), // 节假日类型,分别表示 工作日、周末、节日、调休。
"name": "周六", // 节假日类型中文名,可能值为 周一 至 周日、假期的名字、某某调休。
"week": enum(1 - 7) // 一周中的第几天。值为 1 - 7,分别表示 周一 至 周日。
}
}
}

示例:

http://timor.tech/api/holiday/year
http://timor.tech/api/holiday/year/2018/
http://timor.tech/api/holiday/year/2019-02

下面是高级API。返回人类可阅读的文字,适用于语音交互中。

例如:使用文字转语音,把返回的结果直接播放出来。适用于VUI语音交互中使用。

返回文字。距离今天最近的一个放假安排。周六周末、调休、节假日都会考虑,比较全面的放假安排。

接口地址: http://timor.tech/api/holiday/tts

@params: 没有参数
@return json: 返回可直接播放的文字。

1
2
3
4
{
"code": 0, // 0服务正常。-1服务出错
"tts": "明天就是周六了,今天努力工作哦!。最近的一个节日是清明节。还要12天。早着呢!"
}

示例语句:

今天是周末,放松一下吧!
今天是国庆节前调休,明天就是国庆节了,加油!
你在想什么!今天就是国庆节啊。
清明节才刚刚过完,今天是清明节调休,老老实实上班吧。
很遗憾的告诉您,这周六要劳动节前调休,不过周日就是劳动节了。
很遗憾的告诉您,这周六和周日都要国庆节前调休。再过3天是国庆节。
明天就是中秋节了,开不开心?不过记得周日要中秋节调休,设置好闹钟,别玩太嗨。
明天就是周六了,今天努力工作哦!最近的一个节日是清明节。还要12天。早着呢!
还有很多情况的就不一一例举了,目前大概有2/3十种不同的表达。总之,我会尽可能的用人类友好的表达方式。

返回文字。距离今天最近的一个节假日安排。只考虑节假日和调休。

接口地址: http://timor.tech/api/holiday/tts/next

@params: 没有参数
@return json: 返回可直接播放的文字。

1
2
3
4
{
"code": 0, // 0服务正常。-1服务出错
"tts": "最近的一个节日是2018-04-05的清明节,还有11天。"
}

示例语句:

今年的所有节假日都过完了,2019年的节假日开发者还在偷懒。
最近的一个节日是2018-04-05的清明节,还有11天。
最近的一个节日是2018-04-28的劳动节,还有9天。在这之前先要劳动节前调休。
最近的一个节日是2018-04-28的劳动节,还有2天。不过记得明天先要劳动节前调休。
最近的一个节日是2018-04-28的劳动节,还有21天。明天要记得清明节调休。
最近的一个节日是2018-04-28的劳动节,还有22天。在这之前先把清明节调休完吧。
更多示例不一一例举了,会根据时间不同,调整明天,后天等的表达。

返回文字。回答明天放假吗。

接口地址: http://timor.tech/api/holiday/tts/tomorrow

@params: 没有参数
@return json: 返回可直接播放的文字。

1
2
3
4
{
"code": 0, // 0服务正常。-1服务出错
"tts": "明天是周一,今晚早点睡,上班别迟到了。"
}

示例语句:

明天是劳动节,趁着假期放松一下吧。
清明节才刚过完,明天都要清明节调休了,还想着放假呢!
明天是周六,放心睡吧。
今天才周二呢,先好好上班吧。
明天不放假,明天是劳动节前调休,马上就是劳动节了,开心吧!

浏览器端使用 ajax 请求节假日服务示例代码

1
2
3
4
5
6
7
8
9
10
11
12
13
// 注意:dataType: json 就行了,别写成 jsonp 了
// 使用 jQuery,其它库请查看api
$.ajax({
type: 'get',
url: 'http://timor.tech/api/holiday/tts',
dataType: 'json',
success: function (data) {
console.log('success', data)
},
error: function (xhr, textstatus, error) {
console.log('error', textstatus, error)
}
})

获取指定日期的节假日信息

接口地址:http://timor.tech/api/holiday/info/$date
@params $date: 指定日期的字符串,格式 ‘2018-02-23’。可以省略,则默认服务器的当前时间。
@return json: 如果不是节假日,holiday字段为null。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
{ 
"code": 0, // 0服务正常。-1服务出错
"type": {
"type": enum(0, 1, 2, 3), // 节假日类型,分别表示 工作日、周末、节日、调休。
"name": "周六", // 节假日类型中文名,可能值为 周一 至 周日、假期的名字、某某调休。
"week": enum(1 - 7) // 一周中的第几天。值为 1 - 7,分别表示 周一 至 周日。
},
"holiday": {
"holiday": false, // true表示是节假日,false表示是调休
"name": "国庆前调休", // 节假日的中文名。如果是调休,则是调休的中文名,例如'国庆前调休'
"wage": 1, // 薪资倍数,1表示是1倍工资
"after": false, // 只在调休下有该字段。true表示放完假后调休,false表示先调休再放假
"target": '国庆节' // 只在调休下有该字段。表示调休的节假日
}
}

示例:

http://timor.tech/api/holiday/info/2018-3-2
http://timor.tech/api/holiday/info/2018-03-02
http://timor.tech/api/holiday/info

批量查询指定日期节假日信息

接口地址:http://timor.tech/api/holiday/batch?d=$date&type=Y

@params d: 指定日期的字符串,多个日期之间使用 & 连接。最大长度查询个数50。兼容旧的格式用逗号,隔开,但不建议。格式 ‘2018-02-23’。
@params type: 是否返回日期类型,默认不返回。可选值:’Y’ 返回,’N’ 不返回。
@return json: 返回以日期为key的对象。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
{
"code": 0, // 0服务正常。-1服务出错
"holiday": { // 传过来的日期是什么,key就是什么。传多少个就有多少个。
"2017-10-01": { // holiday的值都是一致的
"holiday": true,
"name": "国庆节",
"wage": 2
},
"2017-9-12": null // 如果不是节假日,则为null
},
"type": { // 只有明确指定参数 type=Y 时才返回类型信息
"2017-10-01": { // 一一对应holiday对象的key,holiday有多少个这里就有多少个
"type": enum(0, 1, 2, 3), // 节假日类型,分别表示 工作日、周末、节日、调休。
"name": "周六", // 节假日类型中文名,可能值为 周一 至 周日、假期的名字、某某调休。
"week": enum(1 - 7) // 一周中的第几天。值为 1 - 7,分别表示 周一 至 周日。
}
}
}

示例:

http://timor.tech/api/holiday/batch?d=2018-3-1
http://timor.tech/api/holiday/batch?d=2020-01-01&d=2020-01-02
http://timor.tech/api/holiday/batch?d=2017-10-01,2018-6-01,2018-10-1

获取指定日期的下一个节假日(如果在放假前有调休,也会返回)

接口地址: http://timor.tech/api/holiday/next/$date?type=Y&week=Y

@params $date: 指定日期的字符串,格式 ‘2018-02-23’。可以省略,则默认服务器的当前时间。
@params type: 是否返回日期类型,默认不返回。可选值:’Y’ 返回,’N’ 不返回。
@params week: 节假日是否包含周末,默认不包含。可选值:’Y’ 包含周末,’N’ 不包含。
@return json: 返回指定日期的下一个最近的节假日,如果在放假之前要调休,则会一起返回调休的信息。如果包含周末,则节日和周末冲突时,以节日为优先级。 比如特殊情况:周六是调休,则holiday返回周日,workday返回周六。其它情况以此类推,holiday永远会返回下一个节日。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
{
"code": 0, // 0服务正常。-1服务出错
"holiday": {
"holiday": true, // 该字段一定为true
"name": "国庆节", // 节假日的中文名。
"wage": 3, // 薪资倍数,3表示是3倍工资
"date": "2018-10-01" // 节假日的日期
"rest": 3 // 表示当前时间距离目标还有多少天。比如今天是 2018-09-28,距离 2018-10-01 还有3天
},
"workday": { // 如果节假日前没调休,则此字段为null
"holiday": false, // 此字段一定为false
"name": "国庆前调休", // 调休的中文名
"wage": 1, // 薪资倍数,3表示是3倍工资
"after": false, // true表示放完假后调休,false表示先调休再放假
"target": '国庆节', // 表示调休的节假日
"date": "2018-09-29" // 表示要调休的日期
"rest": 1 // 同上。表示当前时间距离目标还有多少天。
},
"type": { // 只有明确指定参数 type=Y 时才返回类型信息
"holiday": { // 对应 holiday 中的日期类型,只有返回 holiday 信息时才存在此日期类型
"type": enum(0, 1, 2, 3), // 节假日类型,分别表示 工作日、周末、节日、调休。
"name": "周六", // 节假日类型中文名,可能值为 周一 至 周日、假期的名字、某某调休。
"week": enum(1 - 7) // 一周中的第几天。值为 1 - 7,分别表示 周一 至 周日。
},
"workday": { // 对应 workday 中的日期类型,只有返回 workday 信息时才存在此日期类型
"type": enum(0, 1, 2, 3), // 节假日类型,分别表示 工作日、周末、节日、调休。
"name": "周六", // 节假日类型中文名,可能值为 周一 至 周日、假期的名字、某某调休。
"week": enum(1 - 7) // 一周中的第几天。值为 1 - 7,分别表示 周一 至 周日。
}
}
}

示例:

http://timor.tech/api/holiday/next/2018-6-1
http://timor.tech/api/holiday/next/2018-09-28
http://timor.tech/api/holiday/next

获取指定日期的下一个工作日(工作日包含正常工作日、调休)不包含当天

接口地址: http://timor.tech/api/holiday/workday/next/$date

@params $data: 指定日期的字符串,格式 ‘2020-01-20’。可以省略,则默认服务器的当前时间。
@return json: 返回指定日期的下一个最近的工作日。工作日包含正常工作日、调休,不包含当天。

1
2
3
4
5
6
7
8
9
10
{
"code": 0, // 0服务正常。-1服务出错
"workday": { // 如果没有查找到最近的工作日,则此字段为null。最大查找长度为30
"type": enum(0, 1, 2, 3), // 节假日类型,分别表示 工作日、周末、节日、调休。此接口只会返回 0 和 3 的类型。
"name": "周二", // 工作日类型中文名,可能值为 周一 至 周五、某某调休。
"week": enum(1 - 7) // 一周中的第几天。值为 1 - 7,分别表示 周一 至 周日。
"date": "2018-09-29" // 表示要工作的日期。
"rest": 1 // 同上。表示当前时间距离目标还有多少天。
}
}

示例:

http://timor.tech/api/holiday/workday/next/2018-6-1
http://timor.tech/api/holiday/workday/next/2018-09-28
http://timor.tech/api/holiday/workday/next

获取指定年份或年月份的所有节假日信息。默认返回当前年份的所有信息。

接口地址: http://timor.tech/api/holiday/year/$date?type=Y&week=Y

@params $date: 指定年份或年月份,格式 ‘2019-02’ ‘2019-2’ 或者 ‘2019’。可以省略,则默认服务器当前时间的年份。
@params type: 是否返回日期类型,默认不返回。可选值:’Y’ 返回,’N’ 不返回。
@params week: 节假日是否包含周末,默认不包含。可选值:’Y’ 包含周末,’N’ 不包含。
@return json: 返回指定年份或年月份的所有节假日,以日期作为key,格式:mm-dd。如果没有该年份或月份,则返回空对象。注意目前只配置了最多比当前时间往后一年的节假日。如果包含周末,则节日和周末冲突时,以节日为准。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
{
"code": 0, // 0服务正常。-1服务出错
"holiday": {
"10-01": {
"holiday": true, // 该字段一定为true
"name": "国庆节", // 节假日的中文名。
"wage": 3, // 薪资倍数,3表示是3倍工资
"date": "2018-10-01" // 节假日的日期
},
"10-02": {
"holiday": true, // 该字段一定为true
"name": "国庆节", // 节假日的中文名。
"wage": 3, // 薪资倍数,3表示是3倍工资
"date": "2018-10-01" // 节假日的日期
}
},
"type": { // 只有明确指定参数 type=Y 时才返回类型信息
"2018-10-01": { // 一一对应holiday对象的key,holiday有多少个这里就有多少个
"type": enum(0, 1, 2, 3), // 节假日类型,分别表示 工作日、周末、节日、调休。
"name": "周六", // 节假日类型中文名,可能值为 周一 至 周日、假期的名字、某某调休。
"week": enum(1 - 7) // 一周中的第几天。值为 1 - 7,分别表示 周一 至 周日。
}
}
}

示例:

http://timor.tech/api/holiday/year
http://timor.tech/api/holiday/year/2018/
http://timor.tech/api/holiday/year/2019-02

下面是高级API。返回人类可阅读的文字,适用于语音交互中。

例如:使用文字转语音,把返回的结果直接播放出来。适用于VUI语音交互中使用。

返回文字。距离今天最近的一个放假安排。周六周末、调休、节假日都会考虑,比较全面的放假安排。

接口地址: http://timor.tech/api/holiday/tts

@params: 没有参数
@return json: 返回可直接播放的文字。

1
2
3
4
{
"code": 0, // 0服务正常。-1服务出错
"tts": "明天就是周六了,今天努力工作哦!。最近的一个节日是清明节。还要12天。早着呢!"
}

示例语句:

今天是周末,放松一下吧!
今天是国庆节前调休,明天就是国庆节了,加油!
你在想什么!今天就是国庆节啊。
清明节才刚刚过完,今天是清明节调休,老老实实上班吧。
很遗憾的告诉您,这周六要劳动节前调休,不过周日就是劳动节了。
很遗憾的告诉您,这周六和周日都要国庆节前调休。再过3天是国庆节。
明天就是中秋节了,开不开心?不过记得周日要中秋节调休,设置好闹钟,别玩太嗨。
明天就是周六了,今天努力工作哦!最近的一个节日是清明节。还要12天。早着呢!
还有很多情况的就不一一例举了,目前大概有2/3十种不同的表达。总之,我会尽可能的用人类友好的表达方式。

返回文字。距离今天最近的一个节假日安排。只考虑节假日和调休。

接口地址: http://timor.tech/api/holiday/tts/next

@params: 没有参数
@return json: 返回可直接播放的文字。

1
2
3
4
{
"code": 0, // 0服务正常。-1服务出错
"tts": "最近的一个节日是2018-04-05的清明节,还有11天。"
}

示例语句:

今年的所有节假日都过完了,2019年的节假日开发者还在偷懒。
最近的一个节日是2018-04-05的清明节,还有11天。
最近的一个节日是2018-04-28的劳动节,还有9天。在这之前先要劳动节前调休。
最近的一个节日是2018-04-28的劳动节,还有2天。不过记得明天先要劳动节前调休。
最近的一个节日是2018-04-28的劳动节,还有21天。明天要记得清明节调休。
最近的一个节日是2018-04-28的劳动节,还有22天。在这之前先把清明节调休完吧。
更多示例不一一例举了,会根据时间不同,调整明天,后天等的表达。

返回文字。回答明天放假吗。

接口地址: http://timor.tech/api/holiday/tts/tomorrow

@params: 没有参数
@return json: 返回可直接播放的文字。

1
2
3
4
{
"code": 0, // 0服务正常。-1服务出错
"tts": "明天是周一,今晚早点睡,上班别迟到了。"
}

示例语句:

明天是劳动节,趁着假期放松一下吧。
清明节才刚过完,明天都要清明节调休了,还想着放假呢!
明天是周六,放心睡吧。
今天才周二呢,先好好上班吧。
明天不放假,明天是劳动节前调休,马上就是劳动节了,开心吧!

浏览器端使用 ajax 请求节假日服务示例代码

1
2
3
4
5
6
7
8
9
10
11
12
13
// 注意:dataType: json 就行了,别写成 jsonp 了
// 使用 jQuery,其它库请查看api
$.ajax({
type: 'get',
url: 'http://timor.tech/api/holiday/tts',
dataType: 'json',
success: function (data) {
console.log('success', data)
},
error: function (xhr, textstatus, error) {
console.log('error', textstatus, error)
}
})

------------恢复内容开始------------

获取指定日期的节假日信息

接口地址:http://timor.tech/api/holiday/info/$date
@params $date: 指定日期的字符串,格式 ‘2018-02-23’。可以省略,则默认服务器的当前时间。
@return json: 如果不是节假日,holiday字段为null。

{ 
"code": 0, // 0服务正常。-1服务出错
"type": {
"type": enum(0, 1, 2, 3), // 节假日类型,分别表示 工作日、周末、节日、调休。
"name": "周六", // 节假日类型中文名,可能值为 周一 至 周日、假期的名字、某某调休。
"week": enum(1 - 7) // 一周中的第几天。值为 1 - 7,分别表示 周一 至 周日。
},
"holiday": {
"holiday": false, // true表示是节假日,false表示是调休
"name": "国庆前调休", // 节假日的中文名。如果是调休,则是调休的中文名,例如'国庆前调休'
"wage": 1, // 薪资倍数,1表示是1倍工资
"after": false, // 只在调休下有该字段。true表示放完假后调休,false表示先调休再放假
"target": '国庆节' // 只在调休下有该字段。表示调休的节假日
}
}

示例:

http://timor.tech/api/holiday/info/2018-3-2
http://timor.tech/api/holiday/info/2018-03-02
http://timor.tech/api/holiday/info

批量查询指定日期节假日信息

接口地址:http://timor.tech/api/holiday/batch?d=$date&type=Y

@params d: 指定日期的字符串,多个日期之间使用 & 连接。最大长度查询个数50。兼容旧的格式用逗号,隔开,但不建议。格式 ‘2018-02-23’。
@params type: 是否返回日期类型,默认不返回。可选值:’Y’ 返回,’N’ 不返回。
@return json: 返回以日期为key的对象。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
{
"code": 0, // 0服务正常。-1服务出错
"holiday": { // 传过来的日期是什么,key就是什么。传多少个就有多少个。
"2017-10-01": { // holiday的值都是一致的
"holiday": true,
"name": "国庆节",
"wage": 2
},
"2017-9-12": null // 如果不是节假日,则为null
},
"type": { // 只有明确指定参数 type=Y 时才返回类型信息
"2017-10-01": { // 一一对应holiday对象的key,holiday有多少个这里就有多少个
"type": enum(0, 1, 2, 3), // 节假日类型,分别表示 工作日、周末、节日、调休。
"name": "周六", // 节假日类型中文名,可能值为 周一 至 周日、假期的名字、某某调休。
"week": enum(1 - 7) // 一周中的第几天。值为 1 - 7,分别表示 周一 至 周日。
}
}
}

示例:

http://timor.tech/api/holiday/batch?d=2018-3-1
http://timor.tech/api/holiday/batch?d=2020-01-01&d=2020-01-02
http://timor.tech/api/holiday/batch?d=2017-10-01,2018-6-01,2018-10-1

获取指定日期的下一个节假日(如果在放假前有调休,也会返回)

接口地址: http://timor.tech/api/holiday/next/$date?type=Y&week=Y

@params $date: 指定日期的字符串,格式 ‘2018-02-23’。可以省略,则默认服务器的当前时间。
@params type: 是否返回日期类型,默认不返回。可选值:’Y’ 返回,’N’ 不返回。
@params week: 节假日是否包含周末,默认不包含。可选值:’Y’ 包含周末,’N’ 不包含。
@return json: 返回指定日期的下一个最近的节假日,如果在放假之前要调休,则会一起返回调休的信息。如果包含周末,则节日和周末冲突时,以节日为优先级。 比如特殊情况:周六是调休,则holiday返回周日,workday返回周六。其它情况以此类推,holiday永远会返回下一个节日。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
{
"code": 0, // 0服务正常。-1服务出错
"holiday": {
"holiday": true, // 该字段一定为true
"name": "国庆节", // 节假日的中文名。
"wage": 3, // 薪资倍数,3表示是3倍工资
"date": "2018-10-01" // 节假日的日期
"rest": 3 // 表示当前时间距离目标还有多少天。比如今天是 2018-09-28,距离 2018-10-01 还有3天
},
"workday": { // 如果节假日前没调休,则此字段为null
"holiday": false, // 此字段一定为false
"name": "国庆前调休", // 调休的中文名
"wage": 1, // 薪资倍数,3表示是3倍工资
"after": false, // true表示放完假后调休,false表示先调休再放假
"target": '国庆节', // 表示调休的节假日
"date": "2018-09-29" // 表示要调休的日期
"rest": 1 // 同上。表示当前时间距离目标还有多少天。
},
"type": { // 只有明确指定参数 type=Y 时才返回类型信息
"holiday": { // 对应 holiday 中的日期类型,只有返回 holiday 信息时才存在此日期类型
"type": enum(0, 1, 2, 3), // 节假日类型,分别表示 工作日、周末、节日、调休。
"name": "周六", // 节假日类型中文名,可能值为 周一 至 周日、假期的名字、某某调休。
"week": enum(1 - 7) // 一周中的第几天。值为 1 - 7,分别表示 周一 至 周日。
},
"workday": { // 对应 workday 中的日期类型,只有返回 workday 信息时才存在此日期类型
"type": enum(0, 1, 2, 3), // 节假日类型,分别表示 工作日、周末、节日、调休。
"name": "周六", // 节假日类型中文名,可能值为 周一 至 周日、假期的名字、某某调休。
"week": enum(1 - 7) // 一周中的第几天。值为 1 - 7,分别表示 周一 至 周日。
}
}
}

示例:

http://timor.tech/api/holiday/next/2018-6-1
http://timor.tech/api/holiday/next/2018-09-28
http://timor.tech/api/holiday/next

获取指定日期的下一个工作日(工作日包含正常工作日、调休)不包含当天

接口地址: http://timor.tech/api/holiday/workday/next/$date

@params $data: 指定日期的字符串,格式 ‘2020-01-20’。可以省略,则默认服务器的当前时间。
@return json: 返回指定日期的下一个最近的工作日。工作日包含正常工作日、调休,不包含当天。

1
2
3
4
5
6
7
8
9
10
{
"code": 0, // 0服务正常。-1服务出错
"workday": { // 如果没有查找到最近的工作日,则此字段为null。最大查找长度为30
"type": enum(0, 1, 2, 3), // 节假日类型,分别表示 工作日、周末、节日、调休。此接口只会返回 0 和 3 的类型。
"name": "周二", // 工作日类型中文名,可能值为 周一 至 周五、某某调休。
"week": enum(1 - 7) // 一周中的第几天。值为 1 - 7,分别表示 周一 至 周日。
"date": "2018-09-29" // 表示要工作的日期。
"rest": 1 // 同上。表示当前时间距离目标还有多少天。
}
}

示例:

http://timor.tech/api/holiday/workday/next/2018-6-1
http://timor.tech/api/holiday/workday/next/2018-09-28
http://timor.tech/api/holiday/workday/next

获取指定年份或年月份的所有节假日信息。默认返回当前年份的所有信息。

接口地址: http://timor.tech/api/holiday/year/$date?type=Y&week=Y

@params $date: 指定年份或年月份,格式 ‘2019-02’ ‘2019-2’ 或者 ‘2019’。可以省略,则默认服务器当前时间的年份。
@params type: 是否返回日期类型,默认不返回。可选值:’Y’ 返回,’N’ 不返回。
@params week: 节假日是否包含周末,默认不包含。可选值:’Y’ 包含周末,’N’ 不包含。
@return json: 返回指定年份或年月份的所有节假日,以日期作为key,格式:mm-dd。如果没有该年份或月份,则返回空对象。注意目前只配置了最多比当前时间往后一年的节假日。如果包含周末,则节日和周末冲突时,以节日为准。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
{
"code": 0, // 0服务正常。-1服务出错
"holiday": {
"10-01": {
"holiday": true, // 该字段一定为true
"name": "国庆节", // 节假日的中文名。
"wage": 3, // 薪资倍数,3表示是3倍工资
"date": "2018-10-01" // 节假日的日期
},
"10-02": {
"holiday": true, // 该字段一定为true
"name": "国庆节", // 节假日的中文名。
"wage": 3, // 薪资倍数,3表示是3倍工资
"date": "2018-10-01" // 节假日的日期
}
},
"type": { // 只有明确指定参数 type=Y 时才返回类型信息
"2018-10-01": { // 一一对应holiday对象的key,holiday有多少个这里就有多少个
"type": enum(0, 1, 2, 3), // 节假日类型,分别表示 工作日、周末、节日、调休。
"name": "周六", // 节假日类型中文名,可能值为 周一 至 周日、假期的名字、某某调休。
"week": enum(1 - 7) // 一周中的第几天。值为 1 - 7,分别表示 周一 至 周日。
}
}
}

示例:

http://timor.tech/api/holiday/year
http://timor.tech/api/holiday/year/2018/
http://timor.tech/api/holiday/year/2019-02

下面是高级API。返回人类可阅读的文字,适用于语音交互中。

例如:使用文字转语音,把返回的结果直接播放出来。适用于VUI语音交互中使用。

返回文字。距离今天最近的一个放假安排。周六周末、调休、节假日都会考虑,比较全面的放假安排。

接口地址: http://timor.tech/api/holiday/tts

@params: 没有参数
@return json: 返回可直接播放的文字。

1
2
3
4
{
"code": 0, // 0服务正常。-1服务出错
"tts": "明天就是周六了,今天努力工作哦!。最近的一个节日是清明节。还要12天。早着呢!"
}

示例语句:

今天是周末,放松一下吧!
今天是国庆节前调休,明天就是国庆节了,加油!
你在想什么!今天就是国庆节啊。
清明节才刚刚过完,今天是清明节调休,老老实实上班吧。
很遗憾的告诉您,这周六要劳动节前调休,不过周日就是劳动节了。
很遗憾的告诉您,这周六和周日都要国庆节前调休。再过3天是国庆节。
明天就是中秋节了,开不开心?不过记得周日要中秋节调休,设置好闹钟,别玩太嗨。
明天就是周六了,今天努力工作哦!最近的一个节日是清明节。还要12天。早着呢!
还有很多情况的就不一一例举了,目前大概有2/3十种不同的表达。总之,我会尽可能的用人类友好的表达方式。

返回文字。距离今天最近的一个节假日安排。只考虑节假日和调休。

接口地址: http://timor.tech/api/holiday/tts/next

@params: 没有参数
@return json: 返回可直接播放的文字。

1
2
3
4
{
"code": 0, // 0服务正常。-1服务出错
"tts": "最近的一个节日是2018-04-05的清明节,还有11天。"
}

示例语句:

今年的所有节假日都过完了,2019年的节假日开发者还在偷懒。
最近的一个节日是2018-04-05的清明节,还有11天。
最近的一个节日是2018-04-28的劳动节,还有9天。在这之前先要劳动节前调休。
最近的一个节日是2018-04-28的劳动节,还有2天。不过记得明天先要劳动节前调休。
最近的一个节日是2018-04-28的劳动节,还有21天。明天要记得清明节调休。
最近的一个节日是2018-04-28的劳动节,还有22天。在这之前先把清明节调休完吧。
更多示例不一一例举了,会根据时间不同,调整明天,后天等的表达。

返回文字。回答明天放假吗。

接口地址: http://timor.tech/api/holiday/tts/tomorrow

@params: 没有参数
@return json: 返回可直接播放的文字。

1
2
3
4
{
"code": 0, // 0服务正常。-1服务出错
"tts": "明天是周一,今晚早点睡,上班别迟到了。"
}

示例语句:

明天是劳动节,趁着假期放松一下吧。
清明节才刚过完,明天都要清明节调休了,还想着放假呢!
明天是周六,放心睡吧。
今天才周二呢,先好好上班吧。
明天不放假,明天是劳动节前调休,马上就是劳动节了,开心吧!

浏览器端使用 ajax 请求节假日服务示例代码

1
2
3
4
5
6
7
8
9
10
11
12
13
// 注意:dataType: json 就行了,别写成 jsonp 了
// 使用 jQuery,其它库请查看api
$.ajax({
type: 'get',
url: 'http://timor.tech/api/holiday/tts',
dataType: 'json',
success: function (data) {
console.log('success', data)
},
error: function (xhr, textstatus, error) {
console.log('error', textstatus, error)
}
})

------------恢复内容结束------------

免费节假日 API的更多相关文章

  1. JAVA的免费天气api接口调用示例

    step1:选择本文所示例的接口"免费天气api" url:https://www.juhe.cn/docs/api/id/39/aid/87 step2:每个接口都需要传入一个参 ...

  2. 免费json API

    免费json API http://www.bejson.com/knownjson/webInterface/

  3. 免费天气预报API接口

    一.中国气象局(http://www.weather.com.cn) 1.实时接口 http://mobile.weather.com.cn/data/sk/101010100.html http:/ ...

  4. 各类免费的API接口分享,无限次

    各类免费的API接口分享: 手机号码归属地API:https://www.juhe.cn/docs/api/id/11 历史上的今天API:https://www.juhe.cn/docs/api/i ...

  5. 一些免费的API

    Github 接口 Github 为我们提供了一些免费的 API 接口,利用这些接口我们可以开发一些工具. 接口文档地址为 https://docs.github.com/en/rest 下面是一个例 ...

  6. 检查日期是否为节假日api

    http://www.easybots.cn/api/holiday.php?d=20160104 返回值: 工作日对应结果为 0, 休息日对应结果为 1, 节假日对应的结果为 2: 检查一个日期是否 ...

  7. 一些免费收费api收藏

    转载:http://blog.csdn.net/sdjianfei/article/details/53157334 一 .api 1.http://apistore.baidu.com/astore ...

  8. 移动端开发者福利-免费收费api收藏

    一 .api 1.https://www.juhe.cn/ 跟百度api集市差不多,超级赞,做好认证就行了,我有20+认证能用的免费api 2.http://apistore.baidu.com/as ...

  9. 免费第三方API平台整合

    各大平台免费接口,非常适用 http://developer.51cto.com/art/201412/458778.htm 绝对干货:供个人开发者赚钱免费使用的一些好的API接口http://www ...

  10. 免费web api接口大全

    下面的接口来自互联网,部分功能需要付费 查询手机 http://www.yodao.com/smartresult-xml/search.s?type=mobile&q=手机号码 查询IP h ...

随机推荐

  1. 【Oculus Interaction SDK】(七)使用射线进行交互(物体 & UI)

    前言 这篇文章是[Oculus Interaction SDK]系列的一部分,如果发现有对不上的对方,可以回去翻看我之前发布的文章,或在评论区留言.如果文章的内容已经不适用于新版本了,也可以直接联系我 ...

  2. Vue18 过滤器

    1 简介 过滤器(filter)是输送介质管道上不可缺少的一种装置,大白话,就是把一些不必要的东西过滤掉,过滤器实质不改变原始数据,只是对数据进行加工处理后返回过滤后的数据再进行调用处理,我们也可以理 ...

  3. Vue13 样式动态绑定

    1 class样式的动态绑定 1.1 说明 通过命令v-bind:class设置一个对象,动态切换class.可以简写为:class. class=""可以和:class=&quo ...

  4. spring in action day07 RabbitMq

    一:安装RabbitMq 记录下本人在win10环境下安装RabbitMQ的步骤,以作备忘. 第一步:下载并安装erlang erlang和rabbitmq对应版本说明:https://www.rab ...

  5. JAVA虚拟机-01-JAVA虚拟机家族简介

    JAVA虚拟机家族简介 Classic VM JDK1.0发布,第一款商议的JAVA虚拟机.纯解释器方式来执行java代码的的JAVA虚拟机.如果要使用即时编译就需要外挂编译器.如果外挂了编译器,及时 ...

  6. Channel和Stream的单双向问题

    stream分为input和output,为单向. channel为双向,可以write也可以read,但是通过inputstream或者outputstream获取的channle并不能实现双向的数 ...

  7. 微机原理与系统设计笔记7 |常用芯片接口技术、中断系统与可编程中断控制器8259A

    打算整理汇编语言与接口微机这方面的学习记录.本部分介绍常用芯片接口技术.中断系统与可编程中断控制器8259A. 参考资料 西电<微机原理与系统设计>周佳社 西交<微机原理与接口技术& ...

  8. 前端开发工具VsCode官网下载太慢?直接失败?

    我有个朋友来到公司以后,在搭建基本开发环境时,什么nodejs安装包,vscode包等等都是由同事直接分享,然后一键安装,从来没去过官网下载,以至于想更新新版本的时候首次进入官网有点懵逼,相信很多同学 ...

  9. CSS less转CSS

    less 转css代码格式cmd命令: lessc D:\workspace\ipad\index.less D:\workspace\ipad\index.css

  10. python批量修改一个文件夹下含多个文件夹中的所有图片名称

    网上能找到的,大多是只对一个文件夹下所有图片进行重命名的代码. 这边实现的是,一个文件夹下有多个文件夹内图片的重命名. rename.py #!/usr/bin/python # -*- coding ...