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

news/2024/11/19 22:53:32/

需求:

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

实现

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;}
}

http://www.ppmy.cn/news/1112856.html

相关文章

企业经营异常查询API:保障供应链的可靠性与稳定性

引言 在全球化和数字化的商业环境中,供应链的可靠性和稳定性对企业的成功至关重要。企业经营异常信息查询API正崭露头角,成为供应链管理中不可或缺的工具。本文将深入探讨如何利用企业经营异常信息查询API来保障供应链的可靠性和稳定性,以及…

【微信小程序】网络请求

环境&#xff1a;微信小程序开发工具 测试api&#xff08;随机获取猫咪靓照&#xff09;:https://api.thecatapi.com/v1/images/search?limit2 示例&#xff1a; 完整代码 request.wxml <button bind:tap"requestBtn" type"primary">网络请求&l…

论文总结《A Closer Look at Few-shot Classification Again》

原文链接 A Closer Look at Few-shot Classification Again 摘要 这篇文章主要探讨了在少样本图像分类问题中&#xff0c;training algorithm 和 adaptation algorithm的相关性问题。给出了training algorithm和adaptation algorithm是完全不想关的&#xff0c;这意味着我们…

系统架构设计高级技能 · 构件与中间件技术

点击进入系列文章目录 现在的一切都是为将来的梦想编织翅膀&#xff0c;让梦想在现实中展翅高飞。 Now everything is for the future of dream weaving wings, let the dream fly in reality. 系统架构设计高级技能 构件与中间件技术 一、构件的定义二、构件系统架构特性三…

前端面试话术集锦第 14 篇:高频考点(React常考基础知识点)

这是记录前端面试的话术集锦第十四篇博文——高频考点(React常考基础知识点),我会不断更新该博文。❗❗❗ 1. 生命周期 在V16版本中引入了Fiber机制。这个机制一定程度上的影响了部分生命周期的调用,并且也引入了新的2个API来解决问题。 在之前的版本中,如果你拥有一个很…

[k8s] kubectl port-forward 和kubectl expose的区别

kubectl port-forward 和 kubectl expose 是 Kubernetes 命令行工具 kubectl 提供的两种不同方式来公开服务。 kubectl port-forward kubectl port-forward 命令用于在本地主机和集群内部的 Pod 之间建立一个临时的端口转发通道。 该命令将本地机器上的一个端口绑定到集群内部…

Android开源 日志框架 LogDog V2.3.1

目录 一、简介 二、下载使用 添加jitpack 仓库 添加依赖: 三、更改 1、 LogDogV2.3.1初始化: 2、通过上面的初始化 &#xff0c;已经知道IJsonEngine 优化了泛型参数&#xff0c;采用 Object/Any 3、优化空异常的判断&#xff0c;哪怕打印变量是NULL LogDog会打印“nul…

go Gorm连接数据库,并实现增删改查操作

Gorm 1. 准备工作 首先进入终端下载我们需要的包&#xff08;确保go和mysql安装完成&#xff0c;并设置了环境变量&#xff09; go get -u gorm.io/driver/mysql go get -u gorm.io/gorm有两份官方文档有对 GORM 更详细的讲解。 创建 | GORM - The fantastic ORM library f…