--1:日期操作以免自己要的时候忘记了
public Date reportGetDate(Date d,String type,int number){
Calendar calendar = Calendar.getInstance();
calendar.setTime(d);
if(type.equals("YEAR"))calendar.add(Calendar.YEAR,number);
if(type.equals("MONTH"))calendar.add(Calendar.MONTH,number);
if(type.equals("DAY"))calendar.add(Calendar.DAY_OF_MONTH,number);
if(type.equals("HOUR"))calendar.add(Calendar.HOUR_OF_DAY,number);
if(type.equals("min"))calendar.add(Calendar.MINUTE,number);
Date date = calendar.getTime();
return date;
}
2:判断只加工作日的情况,系统还有可能设置了休息日和加班日
/**
* 这个算法判断周末和加班日和休息日
* @throws Exception
*/
public int returnDay(Date bgnTime) throws Exception{
int isweekday=0;
int Sum=0;
// bgnTime=new Date();
for(isweekday=0;isweekday<3;){
SimpleDateFormat sf = new SimpleDateFormat( "yyyy-MM-dd ");
String workflag=ycsdjService.getSysholiday(sf.format(bgnTime));
//这个是系统里设置的节假日和加班日
if(workflag ==null){
workflag="WH";
}
//Date date=new Date();
Calendar cal=Calendar.getInstance();
cal.setTime(bgnTime);
if(cal.get(Calendar.DAY_OF_WEEK) == 1 || cal.get(Calendar.DAY_OF_WEEK) == 7){
if(workflag !=null&&workflag.equals("W")){
isweekday+=1;
cal.add(Calendar.DATE, 1);
bgnTime=cal.getTime();
Sum+=1;
}else{
cal.add(Calendar.DATE, 1);
bgnTime=cal.getTime();
Sum+=1;
}
}else{
if(workflag !=null&&workflag.equals("H" )){
cal.add(Calendar.DATE, 1);
bgnTime=cal.getTime();
Sum+=1;
}else{
isweekday+=1;
Sum+=1;
cal.add(Calendar.DATE, 1);
bgnTime=cal.getTime();
}
}
}
return Sum;
}
3:将第二个方法的值传回给第一个方法.就知道是加几天了
4:判断日期大小直接取方法 getTime();
Date dt1 = new Date();
Date dt2 = new Date();
if (dt1.getTime() > dt2.getTime()) {
System.out.println("dt1 在dt2前");
} else if (dt1.getTime() < dt2.getTime()) {
System.out.println("dt1在dt2后");
}
分享到:
相关推荐
JAVA时间工具类(计算法定工作日工时):计算某个日期加上几个工作日后的一个工作日期(除周末和法定节假日),计算某个日期后一天的工作日期(除周末和法定节假日),计算两个日期的真实工作日(除周末和法定节假日),...
经常在网上搜东西都搜不到,更有人上传点没用了,现在我解决了就把解决方法上传上吧.
这是一个工具类,其中包括判断日期是否是节假日或工作日,以及判断n个工作日后的日期 例:20190304后的7个工作日是几号 输入类型为String类型
JAVA中常见日期判断方法,比如:是否为润年? 获取指定年月的天数等等.
可以获取得到工作的MAP,并可以指定日期为工作日,将工作日设为非工作日. 之前提交的有问题
计算有效工时,工作日,休息日等工具,可排除 法定假日,周末上班,周末等,内含多种测试用例,计算有效工时,工作日,休息日等工具,可排除 法定假日,周末上班,周末等,内含多种测试用例
* 07-获取一年中休息日的天数(法定节假日+不需要补班的周末)。 * 节假日信息配置表,用于存放法定节假日及周六日倒班信息。 字段包括:year,lawHolidays,extraworkdays * 1、创建ChineseWorkDay对象 * ...
可以获取得到工作的MAP,并可以指定日期为工作日,将工作日设为非工作日.
//计算15个工作日之后的工作日日期 Date date = workdayUtils.getWorkday(new Date(), 15); //计算两个日期之间的工作日总数 int count = workdayUtils.getWorkdayCount(new Date(), format.parse("2013-08-13"));
Java 日期比较工具类 各种日期操作及计算( 获取两个日期 间隔天数 间隔月数 格式化日期 )
java计算整年工作日(包含特殊的工作日)排除法定节假日和周末能运行
输入两个年月日,(1)判断两个日期是否相同,并且将相差的天数显示出来;(2)将日期后推或前推N天,并将该日期输出。
java中,计算一个月总共有几天工作日,和都有哪天是工作日等问题。
输入日期可以判断当前日期是否是节假日或工作日,通过输入字符串类型的日期来判断。例:20190304进行判断,然后会返回相应的结果。
通过Java读取Excel文件中的数据时,需要自动判断当前Cell中的数据格式是否日期格式,如果是就要做特殊处理,以便读出数据的格式与预想的相符。
java操作文件,得到文件名,大小,时间,及修改时间java操作文件,得到文件名,大小,时间,及修改时间java操作文件,得到文件名,大小,时间,及修改时间
日期比较大小,用于比较两个String类型的date的大小
压缩包里有2个文件,用于计算两个日期相差的工作日天数(排除周末和法定节假日): 1、excel表为2023年日历数据,并且备注工作日、周末,调休、节假日类型,可导入数据库。 2、SQL文件为2023年所有日期的插入SQL,并...
1、excel表数据为2022年周末休息日和法定节假日数据,并且备注周末和节假日类型,可导入数据库,用于计算两个日期相差的工作日天数(排除周末和法定节假日)。 2、SQL文件为2022年所有日期,并标注:工作日、法定节...
使用纯java swing 编写的日期时间选择控件,免去了以前的手动输入造成的输入错误,输入丢失的不必要的错误