你應該檢查結果是什麼日期,即檢查它的SATURDAY
或SUNDAY
然後加2或1得到下一個MONDAY
。
注意:我不知道什麼是FirstClass.hotovo,因此我已經從下面的代碼中刪除了臨時文件,並且可以像在項目中那樣添加臨時文件。以下是演示如何檢查日期並分別添加1或2天。
下面是示例代碼。
來電:
addDays(new Date(), 18);
你的方法:
public static Date addDays(Date date, int days) {
Calendar cal = Calendar.getInstance();
cal.setTime(date);
cal.add(Calendar.DATE, days);
Log.d("TEST", "BEFORE CHECKING: " + cal.getTime().toString());
// SATURDAY is the last day of week so add 2 days
if (cal.get(Calendar.DAY_OF_WEEK) == Calendar.SATURDAY) {
cal.add(Calendar.DATE, 2);
// SUNDAY is the first day of week so add 1 day
} else if (cal.get(Calendar.DAY_OF_WEEK) == Calendar.SUNDAY) {
cal.add(Calendar.DATE, 1);
} // else not required as it means its one of the week day
Log.d("TEST", "AFTER UPDATING: " + cal.getTime().toString());
return cal.getTime();
}
樣品試驗
合力一天SATURDAY
因此增加2天,得到MONDAY
07-25 15:46:55.729 4219-4219/? D/TEST: BEFORE CHECKING: Sat Aug 12 15:46:55 PDT 2017
07-25 15:46:55.729 4219-4219/? D/TEST: AFTER UPDATING: Mon Aug 14 15:46:55 PDT 2017
合力天是SUNDAY
因此增加1天得到MONDAY
07-25 15:47:57.634 4322-4322/? D/TEST: BEFORE CHECKING: Sun Aug 13 15:47:57 PDT 2017
07-25 15:47:57.634 4322-4322/? D/TEST: AFTER UPDATING: Mon Aug 14 15:47:57 PDT 2017
合力一天TUESDAY
所以不加入任何多天
07-25 15:52:27.115 4445-4445/? D/TEST: BEFORE CHECKING: Tue Aug 15 15:52:27 PDT 2017
07-25 15:52:27.115 4445-4445/? D/TEST: AFTER UPDATING: Tue Aug 15 15:52:27 PDT 2017
來源
2017-07-25 22:53:12
JRG
你爲什麼不直接檢查結果是星期六還是星期天,並相應地增加2或1天? – Juan