週末をスキップして日を増やす方法を教えてください。つまり、day=Friday
ならばday+1=Monday
です。私は、カレンダーの日ではなくビジネスの日、私はこの問題の解決のために、この方法を変更する必要が週末をスキップして日を増やすにはどうすればいいですか?
public Date incDay(Date date){
Calendar cal = Calendar.getInstance();
cal.setTime(date);
cal.add(Calendar.DATE, 1);
return cal.getTime();
}
をインクリメント私のインクリメント方法をご覧ください。
更新:
私は(この
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();
}
メインのように私の方法を更新):
public static void main(String[] args) throws ParseException {
Date d=incBusiness(new Date(2017, 02, 17));//2017/02/18
}
私の代わりに2017年2月20日の2017年2月18日を持って
、こうした[ '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)クラスに取って代わりました。 –