首页 > 其他分享 >免费节假日 API 接口

免费节假日 API 接口

时间:2024-07-01 17:09:48浏览次数:1  
标签:节假日 api 接口 API 2018 调休 holiday timor

转载地址: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)
  }
})

 

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

 

2024-07-01 17:07:14【出处】:https://www.cnblogs.com/yebuzhiqiu/p/14794711.html

=======================================================================================

标签:节假日,api,接口,API,2018,调休,holiday,timor
From: https://www.cnblogs.com/mq0036/p/18278455

相关文章

  • 接口规范
    接口前缀接口前缀由/{环境前缀}/[版本号]/[调用客户端标识]/{模块}构成,花括号内容必须项,中括号内容为建议项,url必须以“/”开始环境前缀local-api本地环境前缀(建议)dev-api开发环境前缀test-api测试环境前缀pre-api预发环境前缀prod-api线上环境前缀版本号由于存在......
  • 利用阿里云API获取实时天气信息|C语言Linux网络编程练手小项目
    文章目录目录文章目录前言一、HTTP数据请求1.HTTP概述2.数据请求方式3.JSON格式二、阿里云API获取,使用1.购买(白嫖)API接口步骤2.API使用代码编写3.编译程序 4.运行结果总结前言在项目开发时常常需要显示各种信息,如时间、天气、温度、空气质量指数等等。在......
  • 使用Vue 3和Axios从第三方API获取异步数据并展示
    在前端开发中,从第三方API获取数据并动态展示是非常常见且重要的需求之一。今天我们将深入探讨如何使用Vue3和Axios从第三方API获取异步数据并将其展示在页面上。通过这个例子,你将了解如何在Vue3中集成Axios,如何进行异步请求,以及如何动态地将数据绑定到模板以实......
  • ros micro-ros 自定义消息接口
    本节课最终效果是:通过自定义的服务接口控制开发板上的OLED显示器的内容。ros2servicecall/oled_controlfishbot_interfaces/srv/OledControl"{px:0,py:0,data:'oledcontrolbyservice~'}" 一、新建工程添加依赖新建example14_custom_interface,注意请不要将工......
  • WebApi读取配置文件帮助类
    1///<summary>2///appsettings.json操作类3///</summary>4publicclassAppSettings5{6staticIConfigurationConfiguration{get;set;}7staticstringcontentPath{get;set;}89p......
  • 使用Swagger 3注解编写API文档详解
    在现代软件开发中,API文档的编写是至关重要的一环,它不仅能帮助开发者理解和正确使用API,还能提升团队协作效率。Swagger3是一个流行的API文档规范,通过注解的方式可以清晰地定义API的各个方面。本文将深入探讨Swagger3中常用的注解及其使用方法。@OpenAPIDefinition和@Inf......
  • vue前端项目补充API设计、安全性、状态管理、前端路由等功能
    为了完善前端项目,我们需要考虑API设计、安全性、状态管理和前端路由等方面。以下是如何集成这些功能的基本步骤。API设计定义API接口:根据后端服务提供的API,在前端项目中定义相应的接口函数。使用axios或其他HTTP客户端库来发送请求。封装API请求:创建一个服务模块......
  • Java身份证实名认证、身份证识别接口让您认证任性的“懒”
    “懒”这个字大多时候是贬义的,但是如果利用好“懒”的特点,就能有不一样的效果。最近几年成功的互联网产品,虽然领域不同,但有一个共同的特点:显著降低了用户获得产品和服务的成本,进而取得成功。不可否认,有不少的产品就是利用了用户越来越“懒”的特点。现在比较火的小视频AP......
  • SpringBoot自定义注解实现接口幂等
    一、前言接口幂等就是对一个接口执行重复的多次请求,与一次请求所产生的结果是相同的。对数据库的查询和删除是天然幂等的,更新操作在大多数场景下也是天然幂等。插入大多数情况下都是非幂等的,除非利用数据库的唯一索引来保证数据不会重复保存。二、为什么需要幂等1.超时重试......
  • 简单实现Ai音乐suno-api
    本文由ChatMoney团队出品前言在科技与艺术的交汇处,AI音乐创作正以其独特的魅力,引领着音乐产业的一次革命。不久前,AI音乐的浪潮席卷了整个创意领域,激发了无数音乐爱好者和技术开发者的无限想象。在这场音乐与科技的盛宴中,主流的AI音乐平台suno无疑成为了焦点,尽管它尚未对外开放A......