概述
平時(shí)在開(kāi)發(fā)的過(guò)程中經(jīng)常會(huì)用到查詢節(jié)假日的功能,但由于節(jié)假日是每年由國(guó)務(wù)院統(tǒng)一公布,我們
無(wú)法通過(guò)計(jì)算獲取節(jié)假日全景,所以一般需要我們手動(dòng)來(lái)維護(hù)節(jié)假日。
網(wǎng)上有很多節(jié)假日查詢的接口牵囤,但查詢條件和返回結(jié)果并不是太理想爸黄,
于是就自己寫了個(gè)節(jié)假日查詢接口并提供一個(gè)簡(jiǎn)單的頁(yè)面滞伟。接口提供豐富的查詢參數(shù)并且響應(yīng)的字段可以自由定制。
快速開(kāi)始
節(jié)假日查詢的 接口地址 為:
https://api.apihubs.cn/holiday/get
直接訪問(wèn)接口地址會(huì)得到當(dāng)前年份當(dāng)前月份的整月數(shù)據(jù)炕贵,其中包含了詳細(xì)的節(jié)假日信息
節(jié)假日查詢的 示例頁(yè)面地址 為:
http://www.apihubs.cn/#/holiday
在示例頁(yè)面中會(huì)根據(jù)你選擇的條件動(dòng)態(tài)生成接口地址梆奈,然后可以直接點(diǎn)擊瀏覽器中打開(kāi)接口地址預(yù)覽接口返回信息
參數(shù)
節(jié)假日查詢接口提供了豐富的查詢參數(shù),所有參數(shù)都為可選參數(shù)称开,可靈活搭配使用亩钟,多個(gè)條件之間為&&的關(guān)系
參數(shù)中的日期格式均為PHP中的 日期格式
- field 用來(lái)指定返回結(jié)果包含的字段,多個(gè)使用英文逗號(hào)分隔 枚舉
- year 用來(lái)指定要查詢的年份鳖轰,格式為 Y ,多個(gè)使用英文逗號(hào)分隔
- month 用來(lái)指定要查詢的月份清酥,格式為 Ym ,多個(gè)使用英文逗號(hào)分隔
- date 用來(lái)指定要查詢的日期,格式為 Ymd ,多個(gè)使用英文逗號(hào)分隔
- yearweek 用來(lái)指定要查詢一年中的第幾周蕴侣,格式為 oW ,多個(gè)使用英文逗號(hào)分隔
- yearday 用來(lái)指定要查詢一年中的第幾天焰轻,格式為 z ,多個(gè)使用英文逗號(hào)分隔
- holiday 用來(lái)指定要查詢的節(jié)假日,99為全部節(jié)假日昆雀,多個(gè)使用英文逗號(hào)分隔 枚舉
- holiday_overtime 用來(lái)指定要查詢的節(jié)假日調(diào)休(加班)辱志,99為全部調(diào)休,多個(gè)使用英文逗號(hào)分隔 枚舉
- week 用來(lái)指定要查詢的星期狞膘,多個(gè)使用英文逗號(hào)分隔 枚舉
- workday 用來(lái)指定查詢是否為工作日(包含調(diào)休在內(nèi)需要上班的日子) 枚舉
- weekend 用來(lái)指定查詢是否為周末(星期六和星期日) 枚舉
- holiday_today 用來(lái)指定查詢是否為節(jié)日當(dāng)天 枚舉
- holiday_legal 用來(lái)指定查詢是否為法定節(jié)假日(三倍工資)枚舉
- holiday_recess 用來(lái)指定查詢是否為假期節(jié)假日(節(jié)日是否放假)枚舉
- lunar 用來(lái)指定年份揩懒、月份、日期挽封、天數(shù)參數(shù)是否查詢農(nóng)歷日期
- cn 用來(lái)指定返回結(jié)果是否包含中文結(jié)果旭从,默認(rèn)返回的都是數(shù)字日期和枚舉數(shù)字有利于邏輯判斷不利于顯示
- page 分頁(yè)頁(yè)碼
- size 分頁(yè)每頁(yè)數(shù)量
響應(yīng)
節(jié)假日查詢接口的枚舉功能是基于 php-enum 實(shí)現(xiàn)的統(tǒng)一格式響應(yīng)
節(jié)假日查詢接口響應(yīng)始終為JSON數(shù)據(jù)格式,如下
{
"code": "0",
"msg": "ok",
"data": ""
}
- code 成功時(shí)始終為0场仲,失敗時(shí)為 枚舉值 中的key
- msg 成功時(shí)始終為 ok 失敗時(shí)為 枚舉值 中的value
- data 成功時(shí)返回?cái)?shù)據(jù),失敗時(shí)部分返回失敗數(shù)據(jù)退疫,如表單驗(yàn)證失敗渠缕。
- data.page 當(dāng)前頁(yè)碼
- data.size 當(dāng)前每頁(yè)數(shù)量
- data.total 根據(jù)查詢條件查到的總數(shù)量
- data.list 節(jié)假日列表
data.list包含了節(jié)假日的詳細(xì)信息,其中的所有字段都可以通過(guò) field 參數(shù)進(jìn)行按需使用
默認(rèn)會(huì)返回?cái)?shù)字日期和枚舉碼褒繁,這非常適合用來(lái)做邏輯判斷亦鳞。如下
{
"year": 2021,
"month": 202101,
"date": 20210101,
"yearweek": 202053,
"yearday": 1,
"lunar_year": 2020,
"lunar_month": 202011,
"lunar_date": 20201118,
"lunar_yearday": 343,
"week": 5,
"weekend": 2,
"workday": 2,
"holiday": 22,
"holiday_or": 22,
"holiday_overtime": 10,
"holiday_today": 1,
"holiday_legal": 1,
"holiday_recess": 1
}
當(dāng)開(kāi)啟了cn查詢參數(shù),會(huì)將查取的字段名加上 _cn 后綴返回可視化的新棒坏,并同原字段一起返回燕差。如下
{
"year": 2021,
"month": 202101,
"date": 20210101,
"yearweek": 202053,
"yearday": 1,
"lunar_year": 2020,
"lunar_month": 202011,
"lunar_date": 20201118,
"lunar_yearday": 343,
"week": 5,
"weekend": 2,
"workday": 2,
"holiday": 22,
"holiday_or": 22,
"holiday_overtime": 10,
"holiday_today": 1,
"holiday_legal": 1,
"holiday_recess": 1,
"year_cn": "2021年",
"month_cn": "2021年01月",
"date_cn": "2021年01月01日",
"yearweek_cn": "2020年第53周",
"yearday_cn": "2021年第1天",
"lunar_year_cn": "二零二零年",
"lunar_month_cn": "二零二零年冬月",
"lunar_date_cn": "二零二零年冬月十八",
"lunar_yearday_cn": "2020年第343天",
"week_cn": "星期五",
"weekend_cn": "非周末",
"workday_cn": "非工作日",
"holiday_cn": "元旦",
"holiday_or_cn": "元旦",
"holiday_overtime_cn": "非節(jié)假日調(diào)休",
"holiday_today_cn": "節(jié)日當(dāng)天",
"holiday_legal_cn": "法定節(jié)假日",
"holiday_recess_cn": "假期節(jié)假日"
}
- year 公歷年份
- month 公歷月份
- date 公歷日期
- yearweek 公歷一年中的第幾周,注意這里的年份是ISO-8601周編號(hào)年份坝冕,始終以周一至周日為一周徒探。如需獲取7天為一周直接使用年份中的天數(shù)除7即可。
- yearday 公歷一年中的第幾天
- lunar_year 農(nóng)歷年份
- lunar_month 農(nóng)歷月份
- lunar_date 農(nóng)歷日期
- lunar_yearday 農(nóng)歷一年中的第幾天
- week 星期幾
- weekend 是否為周末
- workday 是否為工作日(包含調(diào)休在內(nèi)需要上班的日子)
- holiday 節(jié)假日喂窟,這里使用兩位數(shù)字枚舉表示節(jié)假日测暗,其中特殊數(shù)字10表示非節(jié)假日央串,特殊數(shù)字99表示全部節(jié)假日
- holiday_or 其他節(jié)假日,枚舉與節(jié)假日相同碗啄,表示同一天中的另一個(gè)節(jié)日质和,如 2020-10-01
- holiday_overtime 節(jié)假日調(diào)休,枚舉與節(jié)假日相同
- holiday_today 是否為節(jié)日當(dāng)天
- holiday_legal 是否為法定節(jié)假日(三倍工資)
- holiday_recess 是否為假期節(jié)假日(節(jié)日是否放假)
節(jié)假日查詢的功能到這里就介紹完了稚字,大家在使用過(guò)程中遇到任何問(wèn)題都可以 聯(lián)系我