您的位置:首页 > 编程语言 > Java开发

知道当前日期算出几个工作日之后的日期

2014-04-03 18:36 239 查看
知道当前日期例如:2014-4-3 求5个工作日之前的日期-->应该为2014-3-28
第一步先算出天数
@Test
public void test3(){
int count =0;
for(int i=0 ;i<1000;i++){
Calendar day=Calendar.getInstance();
day.add(Calendar.DATE,-i);
Date hi = day.getTime();
String s = DateCal.getWeekOfDate(hi);
if(s.equals("星期一")|s.equals("星期二")|s.equals("星期三")|s.equals("星期四")|s.equals("星期五")){
count++;
if(count==5){
System.out.println("i="+i);
System.out.println("-----------");
System.out.println(hi);
break;
}
}
}
}
第二步 根据算出的天数调用方法
day.add(Calendar.DATE,-i);
可以很方便的算出日期。

以上可以抽取一个方法以便使用
/**
* 获取日期的天数
* @param start 向前的工作日数
* @return
*/
public static int startDay(int start){
int count =0;
int i ;
for( i=0 ;i<1000;i++){
Calendar day=Calendar.getInstance();
day.add(Calendar.DATE,-i);
Date hi = day.getTime();
String s = DateCal.getWeekOfDate(hi);
if(s.equals("星期一")|s.equals("星期二")|s.equals("星期三")|s.equals("星期四")|s.equals("星期五")){
count++;
if(count==start){
return i;
}
}
}
return i;
}
以上代码不足之处,只能排除周六周末 不能排除节假日。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Java工具类