/** * Setting the date from the given object (only year, month, day). Hours, minutes, seconds etc. * will be preserved. * * @param src The calendar from which to copy the values. * @see #ensurePrecision() */ public DateHolder setDay(final Calendar src) { calendar.set(Calendar.YEAR, src.get(Calendar.YEAR)); calendar.set(Calendar.MONTH, src.get(Calendar.MONTH)); calendar.set(Calendar.DAY_OF_MONTH, src.get(Calendar.DAY_OF_MONTH)); computeTime(); return this; }
/** * Sets the date by giving all datefields and compute all fields. * * @param year * @param month * @param day * @param hour * @param minute * @param second * @param millisecond * @see #computeTime() * @see #ensurePrecision() */ public DateHolder setDate( final int year, final int month, final int date, final int hourOfDay, final int minute, final int second, final int millisecond) { calendar.set(year, month, date, hourOfDay, minute, second); calendar.set(Calendar.MILLISECOND, millisecond); computeTime(); ensurePrecision(); return this; }
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); }