Aipoのスケジュールで開始済かどうか判定する方法

@iwasaki 10views 更新:2016年6月17日

繰り返しスケジュールで期間指定がない場合は開始済にせず、

繰り返しスケジュールで期間指定がある場合は最後の開始時刻が過ぎたら開始済にします。

  /**
   * 開始済判定
   *
   * @param startDate
   * @param endDate
   * @param isSpan
   * @param isRepeat
   * @return
   */
  public static boolean isLastStarted(Date startDate, Date endDate,
      boolean isSpan, boolean isRepeat, boolean isLimit) {
    boolean isStarted = false;
    Calendar today = Calendar.getInstance();
    Calendar cal = Calendar.getInstance();
    cal.setTime(startDate);
    if (!isSpan && isRepeat && !isLimit) {
      // 期間指定なしの繰り返しスケジュール
      isStarted = false;
    } else {
      if (!isSpan && isRepeat && isLimit) {
        // 期間指定の繰り返しスケジュール
        Calendar cal2 = Calendar.getInstance();
        cal2.setTime(endDate);
        cal.set(Calendar.YEAR, cal2.get(Calendar.YEAR));
        cal.set(Calendar.MONTH, cal2.get(Calendar.MONTH));
        cal.set(Calendar.DATE, cal2.get(Calendar.DATE));
      }
      if (cal.getTime().before(today.getTime())) {
        isStarted = true;
      }
    }
    return isStarted;
  }

ログイン / 新規登録してコメントする

このソースコードをストックして後で利用したり、作業に利用したソースコードをまとめることができます。

こちらもお役に立つかもしれません