Как рассчитать день от объекта date и если я подпадаю под выходные, то увеличим его до java? - PullRequest
1 голос
/ 14 февраля 2020

У меня есть 4 даты, т. Е. Сегодня (текущая системная дата), дата активности, quoteFinishFirstFolloupDate и quoteFinishSecondFollowupDate, которые я рассчитал по некоторым критериям, но если эта расчетная дата падает в выходные дни (ie. Суббота, воскресенье), тогда мы нужно увеличить или добавить дни, чтобы следующая дата была днем ​​недели. Итак, как я могу рассчитать дни и сложить их, чтобы это была дата дня недели? Я пробовал что-то, но для объекта Date я не могу рассчитать дни.

Вот мой кусок кода:

if (logs != null && logs.size() > 0) {
  ActivityLog latestActivityLog = logs.get(0);
  Date activityDate = latestActivityLog.getActivityDate();

  Date today = new Date();
  Calendar cal = Calendar.getInstance();
  cal.setTime(today);
  cal.set(Calendar.HOUR_OF_DAY, 0);
  cal.set(Calendar.MINUTE, 0);
  cal.set(Calendar.SECOND, 0);
  cal.set(Calendar.MILLISECOND, 0);

  int dayOfWeek = cal.get(Calendar.DAY_OF_WEEK);
  // check if it is Saturday(day=7) or Sunday(day=1)
  if ((dayOfWeek == 7)) {
    cal.add(Calendar.DAY_OF_WEEK, 2);
    today = cal.getTime();
  }else if ((dayOfWeek == 1)) {
    cal.add(Calendar.DAY_OF_WEEK, 2);
    today = cal.getTime();
  }else {
    today = cal.getTime();
  }

  // @TODO: @RD to check +1 day logic
  // plus 1 to include the endate=today+26 with time at 1pm
  Date quoteFinishFirstFolloupDate = DateUtils.addDays(activityDate, -1 * getUnboundQuoteFirstFollowupDays());


  Date quoteFinishSecondFollowupDate = DateUtils.addDays(quoteFinishFirstFolloupDate, getUnboundQuoteSecondFollowupDays());

  if (today.compareTo(quoteFinishFirstFolloupDate) == 0 || today.compareTo(quoteFinishSecondFollowupDate) == 0) {
    isValidCCVB_ActivityLog = Boolean.TRUE;
    log.info("isValidCCVB_ActivityLog:" + isValidCCVB_ActivityLog);
  }
}

Может ли кто-нибудь мне помочь?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...