Как я могу увеличить день с пропущенными выходными. Я имею в виду, если day=Friday
, то day+1=Monday
. Пожалуйста, обратите внимание на моем методе приращений, который я Increment календарного дня, а не рабочий деньКак я могу увеличить день с пропуском выходных дней
public Date incDay(Date date){
Calendar cal = Calendar.getInstance();
cal.setTime(date);
cal.add(Calendar.DATE, 1);
return cal.getTime();
}
Мне нужно изменить этот метод для решения этой проблемы.
Update:
Я обновляю свой метод как этот
public Date incDay(Date date){
final Calendar cal = Calendar.getInstance();
cal.setTime(date);
// public final static int FRIDAY = 6;
final int dayOfWeek = cal.get(Calendar.DAY_OF_WEEK);
if (dayOfWeek == Calendar.FRIDAY) {
cal.add(Calendar.DATE, 3);
}else{
cal.add(Calendar.DATE, 1);
}
System.out.println(cal.getTime());
return cal.getTime();
}
Main():
public static void main(String[] args) throws ParseException {
Date d=incBusiness(new Date(2017, 02, 17));//2017/02/18
}
Я получил 2017/02/18 вместо 2017/02/20
FYI, хлопотно старые классы даты и времени, такие как [ 'java.util.Date'] (https://docs.oracle.com/javase/8/docs/api/java/util/Date .html) и ['java.util.Calendar'] (https://docs.oracle.com/javase/8/docs/api/java/util/Date.html) теперь [legacy] (https: // en.wikipedia.org/wiki/Legacy_system), вытесняется классами [java.time] (https://docs.oracle.com/javase/8/docs/api/java/time/package-summary.html). –