免费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());

        }

    }

}

代码输出日志

相关推荐
Estar.Lee5 个月前
MySQL中触发器详解 触发器在自动化任务中的应用场景
mysql·oracle·自动化·免费api·接口大全
Estar.Lee5 个月前
如何在Debian中提高phpstorm的稳定性
运维·debian·api·免费api·phpstorm
Estar.Lee5 个月前
MySQL中外键约束详解 外键在表关系维护中的作用
运维·数据库·mysql·api·免费api
Estar.Lee5 个月前
腾讯云开发者社区文章内容提取免费API接口教程
android·云计算·腾讯云·api·免费api·api大全
海碗吃饭2 年前
常用免费好用API汇总
免费api·api推荐
海碗吃饭2 年前
各种免费好用的api,含天气查询、IP查询、物流查询等
免费api·api接口·好用的api
海碗吃饭2 年前
生活、工作常用API免费接口
免费api·api推荐
海碗吃饭2 年前
免费API接口攻略:发现最新、最热的接口资源
免费api·热门api·api推荐
海碗吃饭2 年前
【接口大全】值得分享的好用免费api
免费api·热门api·api推荐