java计算任意2个日期内的工作日,java计算随便2个日期内的工作日

这段代码展示了如何使用Java计算任意两个日期之间的工作日数量,不考虑公共假期。通过计算两个日期之间的完整周数并调整周末天数,得出工作日总数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

java计算任意2个日期内的工作日

package com.qqw.quanqiuwang.biz.util;

import java.text.SimpleDateFormat;

import java.util.Calendar;

import java.util.Date;

/**

* 计算任意2个日期内的工作日(没有考虑到国定假日)

*

* @author user 主要思路: 对于任意2个日期比如:date_start=2006-10-1、date_end=2006-10-14

* ,首先计算这连个日期之间的时间间隔(天数), 然后分别对date_start 和date_end 取得它们下一个星期一的日期,

* 这样就可以得 到一个新的可以整除7的完整日期间隔(这个新的日期间隔已经把星期几的问题剔出掉了),

* 换一种说法就是我们可以得到,这两个新的日期之间的周数,拿这个周数乘以5就是工作日期了(tmpWorkingDays)。

* 但是这个日期并不是我们所要的日期,接下来我们要做的就是计算

* date_start,date_end这两个日期对于根据它们所产生的新的日期之间的时间偏移量, date_start的偏

* 移量(date_start_change)是需要加的,而date_end的这个偏移量(date_end_change)是需要减去的 。

* 最后我们只要用tmpWorkingDays

* +date_start_change-date_end_change就是我们所要求的实际工作日了。

* 以下是所有实现代码(两个日期跨年也没有问题)。

*/

public class DateCal {

/**

* @param args

*/

public static void main(String[

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值