import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class Test {
/**
* @Description: TODO(计算是否在规定时间内完工,忽略周末)
* @author 飞龙
* @param startTime 开始时间
* @param endTime 结束时间
* @param day 周期天数
* @return boolean
*/
public static boolean isCloseOnTime(String startTime, String endTime, Integer day) {
boolean flag = false;
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try {
Date startDate = sdf.parse(startTime);
Date endDate = sdf.parse(endTime);
Calendar cal = Calendar.getInstance();
cal.setTime(startDate);
cal.add(Calendar.DATE, day);
if (cal.DAY_OF_WEEK == Calendar.SATURDAY || cal.DAY_OF_WEEK == Calendar.SUNDAY) {
cal.add(Calendar.DATE, 2);
}
flag = cal.getTime().after(endDate);
} catch (ParseException e) {
e.printStackTrace();
}
return flag;
}
public static void main(String[] args) {
String startTime = "2019-08-1 13:12:21";
String endTime = "2019-08-2 13:12:22";
if (isCloseOnTime(startTime, endTime, 2)) {
System.out.println("在规定的48小时完工!!!");
} else {
System.out.println("在规定的48小时未能完工!!!");
}
}
}