转载地址: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. 基于APIView写接口

    一.视图层代码 """ 基于APIView实现接口的编写 用的是同一个模型表 路由也没变 这次做了解耦合 写了序列化类 与视图类分开了 """ ...

  2. JavaScript 评测代码运行速度

    一.使用 performance.now() API 在 JavaScript 中,可以使用 performance.now() API 来评测代码的运行速度.该 API 返回当前页面的高精度时间戳, ...

  3. 亲测有效! TG Pro 实时温度工具 V2.7.6 for mac 破解版

    亲测有效! TG Pro 实时温度工具 V2.7.6 for mac 破解版 TG Pro (Temperature Gauge Pro) 是一款专业显示你的Mac实时温度的软件,可以在系统内的菜单栏 ...

  4. 真正“搞”懂HTTPS协议16之安全的实现

    上一篇噢,我们搞明白了什么是安全的通信,这个很重要,特别重要,敲黑板!! 然后,我们还学了HTTPS到底是什么,以及HTTPS真正的核心SSL/TLS是什么.最后我们还聊了聊TLS的实现,也就是Ope ...

  5. Spring Cloud Openfeign Get请求发生405错误

    kust-retrieve服务 @Resource private AuthFeignService authFeignService; @ApiOperation("获取用户信息" ...

  6. 郁金香逆向 2.便利怪物对象数组 纯C写法

    读取基础地址 获取节点数量 打印怪物列表 进行遍历 环环相扣

  7. [SWPUCTF 2021 新生赛]jicao

    CTF web安全 阅读代码可知当传入一个post型的参数id与wllmNB相等并且传入一个get型的参数json: 但是这里有一个函数json_decode,上网搜索可知json_decode这个函 ...

  8. [POI2011]MET-Meteors 解题报告

    语言系统紊乱了 QAQ 这道题感觉不是很难鸭 qwq. 先只考虑一个国家,怎么做?很显然,就直接二分一下就行了.判定答案可以维护一个差分数组,然后最后对它做一个前缀和,再求一下这个国家的流行数量就好了 ...

  9. aspnetcore读取配置【源码分析】

    总的逻辑 继承 IConfigurationSource 这个接口的子类是配置源 ,其中的build方法,创建并返回对应的ConfigurationProvider. 继承 IConfiguratio ...

  10. DrCush_0813_风湿性疾病, 药物和新冠指南

    风湿性疾病, 药物和新冠指南 原文网址: https://rheumnow.com/news/rheumatic-diseases-drugs-and-covid-19-guidelines Jack ...