1、节假日万年历API接口,免费好用

1、前言

节假日万年历接口,这个是RollToolsApi通用系列接口的其中一个,内部包含了7个小接口,能实现查询指定日期/月份/年份/时间范围的节假日和万年历信息,万年历的信息包含农历信息,宜忌等信息。这个接口的主要特点是,返回某个节日是否是工作日,节日和节假日,其准确度和国务院每年的通知完全匹配。

RollToolsApi通用系列接口包含多很多免费通用的API接口,利用这些接口可以帮你实现去开发出很多功能丰富,服务稳定的小程序,APP或者网页,无论是练手还是实战都是不错的选择。所有接口的列表可以在此查看 https://www.mxnzp.com/doc/list

2、接口明细

注意:app_id和app_secret是临时秘钥,如果真正使用,需要去https://www.mxnzp.com申请属于自己的专属秘钥。

2.1 获取指定日期的节假日及万年历信息

  • 接口地址: https://www.mxnzp.com/api/holiday/single/{date}

  • 返回格式: JSON

  • 请求方式: GET

  • 请求示例: https://www.mxnzp.com/api/holiday/single/20181121?ignoreHoliday=false&app_id=ixssxqertpltndez&app_secret=QUF5S2JLZkNqSHdyeVVLczdCNSt1QT09

  • 接口备注: 获取指定日期的节假日及万年历信息

  • 返回示例:

    {
        "code": 1,
        "msg": "数据返回成功",
        "data": {
            "date": "2018-11-21",
            "weekDay": 3,
            "yearTips": "戊戌",
            "type": 0,
            "typeDes": "工作日",
            "chineseZodiac": "狗",
            "solarTerms": "立冬后",
            "avoid": "嫁娶.安葬",
            "lunarCalendar": "十月十四",
            "suit": "破屋.坏垣.祭祀.余事勿取",
            "dayOfYear": 325,
            "weekOfYear": 47,
            "constellation": "天蝎座",
            "indexWorkDayOfMonth": 1
        }
    }
    

2.2 获取指定多个日期的节假日及万年历信息

  • 接口地址: https://www.mxnzp.com/api/holiday/multi/{dates}

  • 返回格式: JSON

  • 请求方式: GET

  • 请求示例: https://www.mxnzp.com/api/holiday/multi/20180101,20181010,20181011?ignoreHoliday=false&app_id=ixssxqertpltndez&app_secret=QUF5S2JLZkNqSHdyeVVLczdCNSt1QT09

  • 接口备注: 获取指定多个日期的节假日及万年历信息

  • 返回示例:

    {
        "code": 1,
        "msg": "数据返回成功",
        "data": [
            {
                "date": "2018-01-01",
                "weekDay": 1,
                "yearTips": "丁酉",
                "type": 2,
                "chineseZodiac": "鸡",
                "solarTerms": "冬至后",
                "avoid": "出行.安葬.修坟.开市",
                "lunarCalendar": "11-15",
                "typeDes" : "元旦",
                "suit": "祭祀.塑绘.开光.裁衣.冠笄.嫁娶.纳采.拆卸.修造.动土.竖柱.上梁.安床.移徙.入宅.安香.结网.捕捉.畋猎.伐木.进人口.放水",
                "dayOfYear": 1,
                "weekOfYear": 1,
                "constellation": "天蝎座",
                "indexWorkDayOfMonth": 1
            },
            ...这个地方只显示了一条
        ]
    }
    

2.3 获取指定月份的节假日及万年历信息

  • 接口地址: https://www.mxnzp.com/api/holiday/list/month/{date}

  • 返回格式: JSON

  • 请求方式: GET

  • 请求示例: https://www.mxnzp.com/api/holiday/list/month/201802?ignoreHoliday=false&app_id=ixssxqertpltndez&app_secret=QUF5S2JLZkNqSHdyeVVLczdCNSt1QT09

  • 接口备注: 获取指定月份的节假日及万年历信息

  • 返回示例:

    {
        "code": 1,
        "msg": "数据返回成功",
        "data": [
            {
                "date": "2018-02-01",
                "weekDay": 4,
                "yearTips": "丁酉",
                "type": 0,
                "chineseZodiac": "鸡",
                "typeDes" : "工作日",
                "solarTerms": "大寒后",
                "avoid": "开仓.嫁娶.移徙.入宅",
                "lunarCalendar": "12-16",
                "suit": "祭祀.沐浴.祈福.斋醮.订盟.纳采.裁衣.拆卸.起基.竖柱.上梁.安床.入殓.除服.成服.移柩.启攒.挂匾.求嗣.出行.合帐.造畜椆栖",
                "dayOfYear": 32,
                "weekOfYear": 5,
                "constellation": "天蝎座",
                "indexWorkDayOfMonth": 1
            },
            ...只显示了一部分数据
        ]
    }
    

2.4 获取指定月份的节假日及万年历信息

  • 接口地址: https://www.mxnzp.com/api/holiday/list/month/{date}/{type}

  • 返回格式: JSON

  • 请求方式: GET

  • 请求示例: https://www.mxnzp.com/api/holiday/list/month/201810/rest?ignoreHoliday=false&app_id=ixssxqertpltndez&app_secret=QUF5S2JLZkNqSHdyeVVLczdCNSt1QT09

  • 接口备注: 获取指定月份的节假日及万年历信息

  • 返回示例:

    {
        "code": 1,
        "msg": "数据返回成功",
        "data": [
            {
                "month": 10,
                "year": 2018,
                "days": [
                    {
                        "date": "2018-10-13",
                        "weekDay": 6,
                        "yearTips": "戊戌",
                        "type": 1,
                        "typeDes": "休息日",
                        "chineseZodiac": "狗",
                        "solarTerms": "寒露后",
                        "avoid": "开市.交易.祭祀.入宅.安葬",
                        "lunarCalendar": "九月初五",
                        "suit": "捕捉.畋猎.余事勿取",
                        "dayOfYear": 286,
                        "weekOfYear": 41,
                        "constellation": "天蝎座",
                        "indexWorkDayOfMonth": 1
                    },
                    ...中间隐藏了一部分的数据...
                ]
            }
        ]
    }
    

2.5 获取指定年份的节假日及万年历信息

  • 接口地址: https://www.mxnzp.com/api/holiday//list/year/{date}

  • 返回格式: JSON

  • 请求方式: GET

  • 请求示例: https://www.mxnzp.com/api/holiday/list/year/2018?ignoreHoliday=false&app_id=ixssxqertpltndez&app_secret=QUF5S2JLZkNqSHdyeVVLczdCNSt1QT09

  • 接口备注: 获取指定年份的节假日及万年历信息

  • 返回示例:

    {
        "code": 1,
        "msg": "数据返回成功",
        "data": [
            {
                "month": 1,
                "year": 2018,
                "days": [
                    {
                        "date": "2018-01-01",
                        "weekDay": 1,
                        "yearTips": "丁酉",
                        "type": 2,
                        "chineseZodiac": "鸡",
                        "solarTerms": "冬至后",
                        "typeDes" : "元旦",
                        "avoid": "出行.安葬.修坟.开市",
                        "lunarCalendar": "11-15",
                        "suit": "祭祀.塑绘.开光.裁衣.冠笄.嫁娶.纳采.拆卸.修造.动土.竖柱.上梁.安床.移徙.入宅.安香.结网.捕捉.畋猎.伐木.进人口.放水",
                        "dayOfYear": 1,
                        "weekOfYear": 1,
                        "constellation": "天蝎座",
                        "indexWorkDayOfMonth": 1
                    },
                    ...中间隐藏了"2018-01-02"~"2018-01-30"的数据
                ]
            },
            ...中间隐藏了02月到11月的数据
        ]
    }
    

2.6 获取指定月份的节假日及万年历信息

  • 接口地址: https://www.mxnzp.com/api/holiday/list/year/{date}/{type}

  • 返回格式: JSON

  • 请求方式: GET

  • 请求示例: https://www.mxnzp.com/api/holiday/list/year/2018/rest?ignoreHoliday=false&app_id=ixssxqertpltndez&app_secret=QUF5S2JLZkNqSHdyeVVLczdCNSt1QT09

  • 接口备注: 获取指定月份的节假日及万年历信息

  • 返回示例:

    {
        "code": 1,
        "msg": "数据返回成功,域名已经成功备案,为了更优雅的调用,不久后将废弃8091端口,请尽快使用新域名直接调用,多有不便敬请谅解",
        "data": [
            {
                "month": 1,
                "year": 2018,
                "days": [
                    {
                        "date": "2018-01-06",
                        "weekDay": 6,
                        "yearTips": "丁酉",
                        "type": 1,
                        "typeDes": "休息日",
                        "chineseZodiac": "鸡",
                        "solarTerms": "小寒后",
                        "avoid": "嫁娶.开市.入宅.安床.破土.安葬",
                        "lunarCalendar": "冬月廿",
                        "suit": "祭祀.斋醮.纳财.捕捉.畋猎",
                        "dayOfYear": 6,
                        "weekOfYear": 1,
                        "constellation": "天蝎座",
                        "indexWorkDayOfMonth": 1
                    },
                    ...中间还有一些数据没有显示...
                ]
            },
            ...中间有2月到11月的数据没有展示...
        ]
    }
    

2.7 获取最近前后七个节日信息

  • 接口地址: https://www.mxnzp.com/api/holiday/recent/list

  • 返回格式: JSON

  • 请求方式: GET

  • 请求示例: https://www.mxnzp.com/api/holiday/recent/list?app_id=ixssxqertpltndez&app_secret=QUF5S2JLZkNqSHdyeVVLczdCNSt1QT09

  • 接口备注: 获取最近前后七个节日信息

  • 返回示例:

    {
        "code": 1,
        "msg": "数据返回成功",
        "data": [
            {
                "date": "2019年07月07日",
                "lunarDate": "2019年06月05日",
                "holidayName": "国际合作节",
                "residueDays": -34,
                "lunarHoliday": false
            },
            ...这里只显示了一条
        ]
    }
    
  • 6
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
C语言课设中实现万年历显示节假日可以通过以下步骤来完成: 1. 获取用户输入的年份和月份。 2. 判断该年份是否为闰年,可以通过判断年份能否被4整除但不能被100整除,或者能被400整除来确定。 3. 根据用户输入的年份和月份,计算该月的天数。 4. 计算该月的第一天是星期几,可以使用Zeller公式或者其他算法来计算。 5. 根据计算得到的结果,输出日历表格,并在表格中标记出节假日。 6. 可以通过判断特定日期来确定是否为节假日,例如元旦、春节、国庆节等。 下面是一个简单的示例代码: ```c #include <stdio.h> // 判断是否为闰年 int isLeapYear(int year) { if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) { return 1; } else { return 0; } } // 计算某个月的天数 int getMonthDays(int year, int month) { int days; if (month == 2) { if (isLeapYear(year)) { days = 29; } else { days = 28; } } else if (month == 4 || month == 6 || month == 9 || month == 11) { days = 30; } else { days = 31; } return days; } // 计算某个月的第一天是星期几 int getFirstDayOfWeek(int year, int month) { int dayOfWeek; // 使用Zeller公式计算 if (month == 1 || month == 2) { month += 12; year--; } int century = year / 100; year %= 100; dayOfWeek = (year + year / 4 + century / 4 - 2 * century + 26 * (month + 1) / 10) % 7; if (dayOfWeek < 0) { dayOfWeek += 7; } return dayOfWeek; } // 输出日历表格 void printCalendar(int year, int month) { int days = getMonthDays(year, month); int firstDayOfWeek = getFirstDayOfWeek(year, month); printf(" Sun Mon Tue Wed Thu Fri Sat\n"); for (int i = 0; i < firstDayOfWeek; i++) { printf(" "); } for (int i = 1; i <= days; i++) { printf("%4d", i); if ((i + firstDayOfWeek) % 7 == 0) { printf("\n"); } } printf("\n"); } int main() { int year, month; printf("请输入年份和月份(以空格分隔):"); scanf("%d %d", &year, &month); printCalendar(year, month); return 0; } ```
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值