4 changed files with 101 additions and 13 deletions
@ -0,0 +1,71 @@ |
|||||
|
package cn.chjyj.szwh.utils; |
||||
|
|
||||
|
import java.text.ParseException; |
||||
|
import java.text.SimpleDateFormat; |
||||
|
import java.util.Calendar; |
||||
|
import java.util.Date; |
||||
|
|
||||
|
/** |
||||
|
* 工作日工具类 |
||||
|
*/ |
||||
|
public class WorkDayUtil { |
||||
|
/** |
||||
|
* 日期格式 |
||||
|
*/ |
||||
|
public static SimpleDateFormat SDF = new SimpleDateFormat("yyyy-MM-dd"); |
||||
|
|
||||
|
/** |
||||
|
* 获取工作日时间 |
||||
|
* |
||||
|
* @param startDate 起始时间 |
||||
|
* @param num num个工作日 |
||||
|
* @return |
||||
|
*/ |
||||
|
public static Date getWorkDay(Date startDate, int num) { |
||||
|
Date tomorrow = null; |
||||
|
int delay = 0; |
||||
|
while (delay < num-1) { |
||||
|
tomorrow = getTomorrow(startDate); |
||||
|
if (!isWeekend(SDF.format(tomorrow))) { |
||||
|
delay++; |
||||
|
} |
||||
|
startDate = tomorrow; |
||||
|
} |
||||
|
return startDate; |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* 判断日期字符串是否为周末 |
||||
|
* |
||||
|
* @param dateString 日期字符串 |
||||
|
* @return |
||||
|
*/ |
||||
|
private static boolean isWeekend(String dateString){ |
||||
|
boolean zm=false; |
||||
|
try { |
||||
|
Date date = SDF.parse(dateString); |
||||
|
Calendar cal = Calendar.getInstance(); |
||||
|
cal.setTime(date); |
||||
|
//return cal.get(Calendar.DAY_OF_WEEK) == Calendar.SATURDAY || cal.get(Calendar.DAY_OF_WEEK) == Calendar.SUNDAY;
|
||||
|
if(cal.get(Calendar.DAY_OF_WEEK) == Calendar.SATURDAY || cal.get(Calendar.DAY_OF_WEEK) == Calendar.SUNDAY){ |
||||
|
zm=true; |
||||
|
} |
||||
|
}catch (ParseException ex){ |
||||
|
ex.printStackTrace(); |
||||
|
} |
||||
|
return zm; |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* 获取tomorrow的日期 |
||||
|
* |
||||
|
* @param startDate 起始时间 |
||||
|
* @return |
||||
|
*/ |
||||
|
private static Date getTomorrow(Date startDate) { |
||||
|
Calendar cal = Calendar.getInstance(); |
||||
|
cal.setTime(startDate); |
||||
|
cal.add(Calendar.DAY_OF_MONTH, +1); |
||||
|
return cal.getTime(); |
||||
|
} |
||||
|
} |
||||
Loading…
Reference in new issue