/**
  * @param startTime Start time or null.
  * @param stopTime Stop time or null.
  */
 public static String getUTCDates(final Date startTime, final Date stopTime) {
   final StringBuffer buf = new StringBuffer();
   final DateHolder start = startTime != null ? new DateHolder(startTime) : null;
   final DateHolder stop = stopTime != null ? new DateHolder(stopTime) : null;
   if (start != null) {
     buf.append(DateHelper.TECHNICAL_ISO_UTC.get().format(start.getDate()));
     if (stop != null) {
       buf.append(" - ");
     }
   }
   if (stop != null) {
     buf.append(DateHelper.TECHNICAL_ISO_UTC.get().format(stop.getDate()));
   }
   return buf.toString();
 }
 /**
  * @param label Label as prefix
  * @param date
  * @return <label>: <date>
  */
 public static String getUTCDate(final String label, final Date date) {
   if (date == null) {
     return label + ":";
   }
   final DateHolder dh = new DateHolder(date);
   return label + ": " + DateHelper.TECHNICAL_ISO_UTC.get().format(dh.getDate());
 }
예제 #3
0
  public int daysBetween(final DateHolder other) {
    final DateHolder from, to;
    if (this.getTimeInMillis() < other.getTimeInMillis()) {
      from = this;
      to = other;
    } else {
      from = other;
      to = this;
    }
    int result = 0;
    final int toYear = to.getYear();
    final DateHolder dh = new DateHolder(from.getDate());

    int endlessLoopProtection = 0;
    while (dh.getYear() < toYear) {
      final int fromDay = dh.getDayOfYear();
      dh.setMonth(Calendar.DECEMBER);
      dh.setDayOfMonth(31);
      result += dh.getDayOfYear() - fromDay + 1;
      dh.add(Calendar.DAY_OF_MONTH, 1);
      if (++endlessLoopProtection > 5000) {
        throw new IllegalArgumentException("Days between doesn's support more than 5000 years");
      }
    }
    result += to.getDayOfYear() - dh.getDayOfYear();
    if (this.getTimeInMillis() < other.getTimeInMillis()) {
      return result;
    } else {
      return -result;
    }
  }
예제 #4
0
  private void calculate() {
    DateHolder dateHolder = new DateHolder(cal, DatePrecision.DAY);
    year = dateHolder.getYear();
    month = dateHolder.getMonth();
    dateHolder.setBeginOfMonth();
    begin = dateHolder.getDate(); // Storing begin of month.
    dateHolder.setEndOfMonth();
    end = dateHolder.getDate(); // Storing end of month.
    dateHolder.setDate(begin); // reset to begin of month
    dateHolder.computeTime();
    dateHolder.setBeginOfWeek(); // get first week (with days of previous month)

    weeks = new ArrayList<WeekHolder>();
    do {
      WeekHolder week = new WeekHolder(dateHolder.getCalendar(), month);
      weeks.add(week);
      dateHolder.add(Calendar.WEEK_OF_YEAR, 1);
    } while (dateHolder.getMonth() == month);
  }
 @Override
 public SearchFilter setStopTimeOfModification(final Date stopTimeOfLastModification) {
   if (stopTimeOfLastModification == null) {
     super.setStopTimeOfModification(null);
     return this;
   }
   final DateHolder dh = new DateHolder(stopTimeOfLastModification, DatePrecision.MILLISECOND);
   dh.setEndOfDay();
   super.setStopTimeOfModification(dh.getDate());
   return this;
 }
 private TimesheetDO createNewSheet() {
   return new TimesheetDO()
       .setUser(getUser(TEST_USER))
       .setStartDate(date.getDate())
       .setStopTime(date.add(Calendar.MINUTE, 15).getTimestamp());
 }
예제 #7
0
 public boolean isBetween(final DateHolder from, final DateHolder to) {
   final Date fromDate = from != null ? from.getDate() : null;
   final Date toDate = to != null ? to.getDate() : null;
   return isBetween(fromDate, toDate);
 }
예제 #8
0
 public boolean after(final DateHolder date) {
   return this.getDate().after(date.getDate());
 }
예제 #9
0
 public boolean before(final DateHolder date) {
   return this.getDate().before(date.getDate());
 }