/** * @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()); }
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; } }
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()); }
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); }
public boolean after(final DateHolder date) { return this.getDate().after(date.getDate()); }
public boolean before(final DateHolder date) { return this.getDate().before(date.getDate()); }