非常好用的節(jié)假日查詢接口

概述

平時在開發(fā)的過程中經(jīng)常會用到查詢節(jié)假日的功能,但由于節(jié)假日是每年由國務院統(tǒng)一公布,我們
無法通過計算獲取節(jié)假日,所以一般需要我們手動來維護節(jié)假日。

網(wǎng)上有很多節(jié)假日查詢的接口,但查詢條件和返回結果并不是太理想,
于是就自己寫了個節(jié)假日查詢接口并提供一個簡單的頁面。接口提供豐富的查詢參數(shù)并且響應的字段可以自由定制。

快速開始

節(jié)假日查詢的 接口地址 為:

https://api.apihubs.cn/holiday/get

直接訪問接口地址會得到當前年份當前月份的整月數(shù)據(jù),其中包含了詳細的節(jié)假日信息

節(jié)假日查詢的 示例頁面地址 為:

http://www.apihubs.cn/#/holiday

在示例頁面中會根據(jù)你選擇的條件動態(tài)生成接口地址,然后可以直接點擊瀏覽器中打開接口地址預覽接口返回信息

參數(shù)

節(jié)假日查詢接口提供了豐富的查詢參數(shù),所有參數(shù)都為可選參數(shù),可靈活搭配使用,多個條件之間為&&的關系

參數(shù)中的日期格式均為PHP中的 日期格式

  • field 用來指定返回結果包含的字段,多個使用英文逗號分隔 枚舉
  • year 用來指定要查詢的年份,格式為 Y ,多個使用英文逗號分隔
  • month 用來指定要查詢的月份,格式為 Ym ,多個使用英文逗號分隔
  • date 用來指定要查詢的日期,格式為 Ymd ,多個使用英文逗號分隔
  • yearweek 用來指定要查詢一年中的第幾周,格式為 oW ,多個使用英文逗號分隔
  • yearday 用來指定要查詢一年中的第幾天,格式為 z ,多個使用英文逗號分隔
  • holiday 用來指定要查詢的節(jié)假日,99為全部節(jié)假日,多個使用英文逗號分隔 枚舉
  • holiday_overtime 用來指定要查詢的節(jié)假日調(diào)休(加班),99為全部調(diào)休,多個使用英文逗號分隔 枚舉
  • week 用來指定要查詢的星期,多個使用英文逗號分隔 枚舉
  • workday 用來指定查詢是否為工作日(包含調(diào)休在內(nèi)需要上班的日子) 枚舉
  • weekend 用來指定查詢是否為周末(星期六和星期日) 枚舉
  • holiday_today 用來指定查詢是否為節(jié)日當天 枚舉
  • holiday_legal 用來指定查詢是否為法定節(jié)假日(三倍工資)枚舉
  • holiday_recess 用來指定查詢是否為假期節(jié)假日(節(jié)日是否放假)枚舉
  • lunar 用來指定年份、月份、日期、天數(shù)參數(shù)是否查詢農(nóng)歷日期
  • cn 用來指定返回結果是否包含中文結果,默認返回的都是數(shù)字日期和枚舉數(shù)字有利于邏輯判斷不利于顯示
  • page 分頁頁碼
  • size 分頁每頁數(shù)量

響應

節(jié)假日查詢接口的枚舉功能是基于 php-enum 實現(xiàn)的統(tǒng)一格式響應

節(jié)假日查詢接口響應始終為JSON數(shù)據(jù)格式,如下

{
    "code": "0",
    "msg": "ok",
    "data": ""
}
  • code 成功時始終為0,失敗時為 枚舉值 中的key
  • msg 成功時始終為 ok 失敗時為 枚舉值 中的value
  • data 成功時返回數(shù)據(jù),失敗時部分返回失敗數(shù)據(jù),如表單驗證失敗。
  • data.page 當前頁碼
  • data.size 當前每頁數(shù)量
  • data.total 根據(jù)查詢條件查到的總數(shù)量
  • data.list 節(jié)假日列表

data.list包含了節(jié)假日的詳細信息,其中的所有字段都可以通過 field 參數(shù)進行按需使用

默認會返回數(shù)字日期和枚舉碼,這非常適合用來做邏輯判斷。如下

{
    "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
}

當開啟了cn查詢參數(shù),會將查取的字段名加上 _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é)日當天",
    "holiday_legal_cn": "法定節(jié)假日",
    "holiday_recess_cn": "假期節(jié)假日"
}
  • year 公歷年份
  • month 公歷月份
  • date 公歷日期
  • yearweek 公歷一年中的第幾周,注意這里的年份是ISO-8601周編號年份,始終以周一至周日為一周。如需獲取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é)假日相同,表示同一天中的另一個節(jié)日,如 2020-10-01
  • holiday_overtime 節(jié)假日調(diào)休,枚舉與節(jié)假日相同
  • holiday_today 是否為節(jié)日當天
  • holiday_legal 是否為法定節(jié)假日(三倍工資)
  • holiday_recess 是否為假期節(jié)假日(節(jié)日是否放假)

節(jié)假日查詢的功能到這里就介紹完了,大家在使用過程中遇到任何問題都可以 聯(lián)系我

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容