Beispiel #1
0
  /**
   * Retorna la diferencia entre una fecha y otra
   *
   * @param dateA
   * @param dateB
   * @return
   */
  public static DateUtilData getDateDifference(Date dateA, Date dateB) {
    Long milliseconds = dateA.getTime() - dateB.getTime();
    DateUtilData diff = new DateUtilData();

    if (milliseconds > ONE_YEAR) {
      Long result = milliseconds / ONE_YEAR;
      milliseconds -= ONE_YEAR * result;
      diff.setYears(result);
    }

    if (milliseconds > ONE_MOUNTH) {
      Long result = milliseconds / ONE_MOUNTH;
      milliseconds -= ONE_MOUNTH * result;
      diff.setMonths(result);
    }

    if (milliseconds > ONE_DAY) {
      Long result = milliseconds / ONE_DAY;
      milliseconds -= ONE_DAY * result;
      diff.setDays(result);
    }

    if (milliseconds > ONE_HOUR) {
      Long result = milliseconds / ONE_HOUR;
      milliseconds -= ONE_HOUR * result;
      diff.setHours(result);
    }

    if (milliseconds > ONE_MINUTE) {
      Long result = milliseconds / ONE_MINUTE;
      milliseconds -= ONE_MINUTE * result;
      diff.setMinutes(result);
    }

    if (milliseconds > ONE_SECOND) {
      Long result = milliseconds / ONE_SECOND;
      milliseconds -= ONE_SECOND * result;
      diff.setSeconds(result);
    }

    diff.setMilliseconds(milliseconds);

    return diff;
  }