摸鱼日历 API

今天放不放假、距周末/发薪日/法定节假日还有几天,外加一句摸鱼语

数据来源:本地计算 + NateScarlet/holiday-cn(节假日安排)

返回统一的 JSON 格式 { code, message, cached, stale, updatedAt, data },支持跨域,免注册每天可免费调用 100 次,注册后每天 10000 次。

摸鱼日历:周末、发薪日与节假日倒计时

GET /api/moyu

请求参数

  • payday:每月发薪日(1~31),本月没有这一天时按月末计算,示例 15

返回字段

  • date(string):今天的日期(北京时间),YYYY-MM-DD
  • weekday(string):今天星期几,取值 星期日、星期一 … 星期六
  • lunar(object):今天的农历(本地计算,不依赖节假日数据)
  • lunar.text(string):完整农历日期,如 二〇二六年八月十四
  • lunar.monthDay(string):农历月日,如 八月十四、闰六月初一、腊月三十
  • lunar.yearName(string):干支生肖年名,如 丙午马年(以正月初一换年)
  • festivals(array):今天的节日名称(字符串数组,公历节日与农历节日,如 中秋节、教师节),与 /api/lunar 的 festivals 相同;没有节日时为空数组
  • today(object):今天是否放假(依赖节假日数据)
  • today.isOffDay(boolean|null):今天是否休息:法定假日(含假期中的周末)或普通周末为 true,调休上班日和普通工作日为 false;节假日数据获取失败(degraded 为 true)时为 null
  • today.type(string|null):日期类型:holiday(法定节假日放假)、workday(调休上班)、weekend(普通周末)、normal(普通工作日);degraded 为 true 时为 null
  • today.name(string|null):所属节假日名称,如 国庆节;仅 type 为 holiday 或 workday 时有值,其余情况(含 degraded)为 null
  • today.note(string):中文说明:如 "国庆节假期"、"国庆节调休上班"、"周末"、"工作日";degraded 为 true 时为 "节假日数据暂缺,无法判断今天是否放假"
  • weekend(object):周末倒计时(按日历周六、周日计算,不考虑调休;不依赖节假日数据)
  • weekend.isWeekend(boolean):今天是否是周六或周日
  • weekend.daysUntil(number):距离周六还有几天(整数,周一为 5、周五为 1);今天是周六或周日时为 0
  • payday(object):发薪日倒计时(不依赖节假日数据,不考虑发薪日遇节假日提前)
  • payday.day(number):请求的每月发薪日(1~31),即参数 payday,默认 10
  • payday.date(string):下一个发薪日的实际日期,YYYY-MM-DD:今天没过本月发薪日时为本月,已过则为下个月;该月没有这一天(如 31 号遇到小月、2 月)时取该月最后一天
  • payday.daysUntil(number):距离发薪日还有几天(整数),今天发薪时为 0
  • payday.isToday(boolean):今天是否就是发薪日(daysUntil 为 0)
  • payday.monthEnd(boolean):是否因为该月没有 payday 这一天而改用月末(如 payday=31 遇到 9 月时取 9 月 30 日)
  • holidays(array|null):接下来的法定节假日(放假开始日期晚于今天),按开始日期升序,最多 5 个;只在今年和明年已公布的安排中查找,都没有时为空数组;节假日数据获取失败(degraded 为 true)时为 null
  • holidays[].name(string):假期名称,如 国庆节、春节;两节连休时可能是 "国庆节、中秋节"
  • holidays[].start(string):放假第一天,YYYY-MM-DD
  • holidays[].end(string):放假最后一天,YYYY-MM-DD
  • holidays[].days(number):连续放假天数(含假期中的周末)
  • holidays[].daysUntil(number):距离放假第一天还有几天(整数,至少为 1)
  • holidaySource(string|null):今年节假日数据的来源:holiday-cn(从 NateScarlet/holiday-cn 获取)、builtin(上游不可用,使用内置的国务院安排)、none(今年安排尚未公布);degraded 为 true 时为 null
  • degraded(boolean):是否降级:今年的节假日数据获取失败(上游不可用且没有内置数据)时为 true,此时 today 的放假判断、holidays 与 holidaySource 为 null,只保证周末和发薪日倒计时
  • notice(string|null):数据缺失提示:degraded 时为 "节假日数据获取失败,暂时只提供周末和发薪日倒计时";今年安排尚未公布时说明只按周末判断;数据完整时为 null