Java实现计算两个日期之间的工作日天数

需求:

需要在后端实现 计算当前日期与数据库内保存的日期数据之间相隔的工作日数目

实现

java 复制代码
import java.time.DayOfWeek;
import java.time.LocalDateTime;

public class WorkdaysCalculator {
    public static void main(String[] args) {
        String givenDateTimeStr = "2022-01-01T12:34:56.789"; // 替换为你的日期时间字符串

        LocalDateTime currentDateTime = LocalDateTime.now(); // 获取当前时间
        LocalDateTime givenDateTime = LocalDateTime.parse(givenDateTimeStr);

        int workdaysCount = 0;  // 记录相隔工作日数目
        int daysCount = 0;  // 记录相隔天数总数目
		// 循环 直到当前日期在给定日期之前
        while (currentDateTime.isAfter(givenDateTime) || currentDateTime.equals(givenDateTime)) {
            if (isWorkday(currentDateTime.getDayOfWeek())) {
                workdaysCount++;
            }
            currentDateTime = currentDateTime.minusDays(1);  // 当前日期减去一天
            daysCount++;
        }

        if (workdaysCount > 90) {
            System.out.println("给定日期超过90个工作日");
        } else {
            System.out.println("给定日期不超过90个工作日");
        }

        System.out.println("总天数:" + daysCount);
        System.out.println("工作日天数:" + workdaysCount);
    }

    private static boolean isWorkday(DayOfWeek dayOfWeek) { //校验当前日期是否为工作日
        return dayOfWeek != DayOfWeek.SATURDAY && dayOfWeek != DayOfWeek.SUNDAY;
    }
}
相关推荐
StockTV9 分钟前
SpringBoot对接黄金白银期货数据API
java·spring boot·后端
加号318 分钟前
C# 基于MD5实现密码加密功能,附源码
开发语言·c#·密码加密
hsjcjh19 分钟前
窗口函数-详细讲解分析
java·服务器·前端
耿雨飞20 分钟前
Python 后端开发技术博客专栏 | 第 05 篇 Python 数据模型与标准库精选 -- 写出 Pythonic 的代码
开发语言·python
执笔画流年呀33 分钟前
计算机是如何⼯作的
linux·开发语言·python
weixin_5206498734 分钟前
C#闭包知识点详解
开发语言·c#
东北甜妹38 分钟前
Redis Cluster 操作命令
java·开发语言
花间相见40 分钟前
【大模型微调与部署01】—— ms-swift-3.12入门:安装、快速上手
开发语言·ios·swift
techdashen1 小时前
Rust 正式成立 Types Team:类型系统终于有了专属团队
开发语言·后端·rust
jiayong231 小时前
第 17 课:任务选择与批量操作
开发语言·前端·javascript·vue.js·学习