技术博客
节假日查询:为什么只能查 2018 年起?数据覆盖范围与边界说明

节假日查询:为什么只能查 2018 年起?数据覆盖范围与边界说明

作者: 万维易源
2026-08-27
节假日查询数据范围2018
# 节假日查询:为什么只能查 2018 年起?数据覆盖范围与边界说明 > 接口 894(接入点 894-6 / 894-7) · 免费 · POST/GET · 返回 JSON · 适用人群:开发者、产品 · 阅读时间:约 5 分钟 ## TL;DR - 894-6、894-7 **明确只支持 2018 年(含)起**的数据;更早年份查不到。 - 次年数据通常在当年 **10–11 月**随国务院文件更新,未更新前查次年会缺失。 - 业务层必须兜底"查不到旧年份 / 查不到次年"的情况,别让用户看到崩溃。 ## Why:把"查不到"变成可预期 不少团队想用节假日查询做历史考勤回溯(查 2015 年某天),结果发现没数据。这不是 bug,是数据覆盖范围限制。提前在文档/代码里讲清边界,能少一大半工单。 ## What:数据覆盖范围(来自文档原文) | 接入点 | 文档原文表述 | |--------|------| | 894-6 节假日查询 | "节假日查询功能支持自 2018 年以来的数据。次年的节假日数据通常会在当年 10 月至 11 月期间更新。" | | 894-7 调休日列表 | "支持查询自公元 2018 年起任意年份的调休日安排。" | | 894-4 假日列表 | 按年查询(默认当年),同样受上游数据覆盖范围约束 | ## How:在代码里优雅兜底 ```python def safe_day_check(day: str, appkey: str): year = int(day[:4]) if year < 2018: # 数据覆盖范围之外,业务层自行决定:返回"未知"或回退本地规则 return {"day": day, "type": None, "note": "2018 年前数据不支持,已回退本地规则"} r = requests.post("https://route.showapi.com/894-6", params={"appKey": appkey, "day": day}, timeout=10) b = r.json()["showapi_res_body"] if str(b["ret_code"]) != "0": return {"day": day, "error": b.get("showapi_res_error")} return b ``` ```python # 跨年查询次年(如 12 月查 2027):次年数据可能尚未更新 def check_next_year(day_next_year: str, appkey: str): r = requests.post("https://route.showapi.com/894-6", params={"appKey": appkey, "day": day_next_year}, timeout=10) b = r.json()["showapi_res_body"] if str(b["ret_code"]) != "0" or not b.get("holiday"): return {"day": day_next_year, "note": "次年数据可能尚未更新,结果仅供参考"} return b ``` ## 进阶 / 边界 - **2018 年前**:直接返回"不支持",或回退到你自己的本地节假日表,不要依赖接口。 - **次年窗口**:10–11 月前查次年,数据可能不全;若产品需要"提前规划明年排班",要提示用户"以更新后为准"。 - **894-4 按年**:同样受覆盖范围约束,传 2017 及更早年份不会报错但无数据。 ## FAQ **Q1:能查 2010 年的节假日吗?** A:不能。894-6 / 894-7 数据自 2018 年起,更早年份无数据。 **Q2:为什么 12 月查明年劳动节没结果?** A:次年数据通常 10–11 月才更新,未更新前查不到属正常。 **Q3:894-4 也有 2018 限制吗?** A:894-4 按年查询,受同一上游数据覆盖范围约束,早年无数据。 **Q4:旧年份一定要用接口吗?** A:不需要。2018 年前的历史回溯建议维护本地静态表,接口只覆盖 2018 起。 **Q5:数据什么时候最准?** A:国务院文件发布后一周内接口即更新,之后全年稳定。 ## 相关能力 / 下一步阅读 - [节假日查询:某天到底放不放假?894-6 单日判定接入指南](https://www.showapi.com/guides/holiday-query-day-check-894) - [节假日查询:免费接口也要省调用,节假日数据缓存策略设计](https://www.showapi.com/guides/holiday-query-cache-894) - [节假日查询返回字段全解:ret_code 与 type(1/2/3) 及三接入点结构一文读懂](https://www.showapi.com/guides/holiday-query-response-codes-894) - **本系列共 12 篇**:查看[节假日查询指南总目录](https://www.showapi.com/guides/holiday-query-guides-894)