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