免费api 获取某个月工作日、休息日

免费的不少,小项目使用较多,存在时间较久的,推荐 https://timor.tech/api/holiday

案例 获取某个月的休息日=节假日+周六+周日

java 复制代码
public class UnirestDemo {
    public static void main(String[] args) {
        String url="http://timor.tech/api/holiday/year/2025-2?type=N&week=Y";
        HttpResponse<JsonNode> response = Unirest.get(url)
                .header("Accept", "application/json")
                .header("Content-Type", "application/json")
                .asJson();
        // 检查HTTP状态码
        if (response.getStatus() == 200) {
            JsonNode jsonResponse = response.getBody();
            JSONObject jsonObject = jsonResponse.getObject();

            // 检查API返回码
            if (jsonObject.getInt("code") == 0) {
                System.out.println("API调用成功!");
                // 获取holiday对象
                JSONObject holidays = jsonObject.getJSONObject("holiday");

                System.out.println("=== 2025年2月节假日信息 ===");

                // 遍历所有日期
                for (String dateKey : holidays.keySet()) {
                    JSONObject holidayInfo = holidays.getJSONObject(dateKey);

                    String date = holidayInfo.getString("date");
                    String name = holidayInfo.getString("name");
                    boolean isHoliday = holidayInfo.getBoolean("holiday");
                    int wage = holidayInfo.getInt("wage");

                    // rest字段可能不存在,需要检查
                    int rest = holidayInfo.has("rest") ? holidayInfo.getInt("rest") : 0;

                    String holidayType = isHoliday ? "节假日" : "补班日";
                    String wageDesc = wage == 2 ? "双倍工资" : "正常工资";

                    System.out.printf("日期: %s, 名称: %s, 类型: %s, 工资: %s",
                            date, name, holidayType, wageDesc);

                    if (rest > 0) {
                        System.out.printf(", 休息: %d天", rest);
                    }

                    System.out.println();
                }
                    int totalHolidays = 0;


                    for (String dateKey : holidays.keySet()) {
                        JSONObject holidayInfo = holidays.getJSONObject(dateKey);

                        if (holidayInfo.getBoolean("holiday")) {
                            totalHolidays++;
                        }
                    }

                    System.out.println("总节假日天数: " + totalHolidays);


            } else {
                System.out.println("API返回错误码: " + jsonObject.getInt("code"));

            }
        } else {
            System.out.println("HTTP请求失败,状态码: " + response.getStatus());

        }

    }

}

代码输出日志

相关推荐
万维易源12 天前
IP归属地查询接口整理与使用教程
免费api·api接口·编程开发·ip归属地·ip定位·ip查询·接口评测
万维易源14 天前
趣味项目素材|免费脑筋急转弯查询接口实战接入教程
javascript·免费api·脑筋急转弯查询·脑筋急转弯接口
Onesoft%J1ao2 个月前
【2026年7月份有感】VibeCoding的入门到免费API的精通
aigc·免费api·ai编程·vibecoding
Estar.Lee1 年前
MySQL中触发器详解 触发器在自动化任务中的应用场景
mysql·oracle·自动化·免费api·接口大全
Estar.Lee1 年前
如何在Debian中提高phpstorm的稳定性
运维·debian·api·免费api·phpstorm
Estar.Lee1 年前
MySQL中外键约束详解 外键在表关系维护中的作用
运维·数据库·mysql·api·免费api
Estar.Lee1 年前
腾讯云开发者社区文章内容提取免费API接口教程
android·云计算·腾讯云·api·免费api·api大全
海碗吃饭3 年前
常用免费好用API汇总
免费api·api推荐
海碗吃饭3 年前
各种免费好用的api,含天气查询、IP查询、物流查询等
免费api·api接口·好用的api