【Java】取n工作日后的日期(仅排除周六周日)
2024-10-19 11:52:43
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.*;
import java.time.format.DateTimeFormatter;
import java.util.Calendar;
import java.util.Date;
public class HolidayUtils{
private static SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
private static Date getTomorrow(Date date){
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
calendar.add(Calendar.DAY_OF_MONTH, +1);
date = calendar.getTime();
return date;
}
private static boolean isWeekend(String sdate) throws ParseException {
Date date = sdf.parse(sdate);
Calendar cal = Calendar.getInstance();
cal.setTime(date);
if(cal.get(Calendar.DAY_OF_WEEK) == Calendar.SATURDAY || cal.get(Calendar.DAY_OF_WEEK) == Calendar.SUNDAY){
return true;
} else{
return false;
}
}
public static void main(String[] arg) throws ParseException{
Date today = new Date();
Date tomorrow = null;
int delay = 1;
int num = 3;//业务需要的n个工作日
while(delay <= num){
tomorrow = getTomorrow(today);
if (!isWeekend(sdf.format(tomorrow))){
delay++;
}
today = tomorrow;
}
LocalDateTime fDate = Instant.ofEpochMilli(today.getTime()).atZone(ZoneId.systemDefault()).toLocalDateTime();
//或LocalDateTime fDate = today.toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime()
String simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd").format(today);
System.out.println(simpleDateFormat);
}
}
最新文章
- JSON解析实例——使用Json-lib
- [转]oracle设计数据库应选择正确的数据类型
- etcd
- PHP 面向对象编程(2)
- 转来的。。。 关于return 的一些事情
- [Android]通过js方法回调部分native报错 Web Console: Uncaught TypeError: Object [object Object] has no method &#39;xxx&#39;
- iOS 10 推送必看(高阶1)
- SQLServer 之 char、varchar、nvarchar的区别
- Android基础【1】杀死进程(强行停止)应用程序的方法
- ZOJ 3939The Lucky Week<;模拟/暴力>;
- python进阶(3):模块和包
- Jenkins定时任务
- jvm栈-运行控制,jvm-堆运行存储共享单元
- SuperDiamond在JAVA项目中的三种应用方法实践总结
- 《Linux内核分析》第七周学习总结
- Canonical form
- 每天进步一点点-序列化和反序列(将对象写入硬盘文件and从硬盘文件读出对象)
- git add .添加不成功
- 【Python】多线程
- CentOS安装JDK的三种办法