/** * Returns the start date for the given year, inclusive. * * @param calendar the calendar to base the date on. * @param year the year. * @return the start date. */ public static Date getStartDate( Calendar calendar, Integer year ) { return calendar.isoStartOfYear( year ).toJdkDate(); }
@Override public List<Period> generateRollingPeriods( DateTimeUnit dateTimeUnit, Calendar calendar ) { return generateLast5Years( calendar.toIso( dateTimeUnit ).toJdkDate() ); }
@Override public List<Period> generateRollingPeriods( DateTimeUnit dateTimeUnit, org.hisp.dhis.calendar.Calendar calendar ) { return generateLast5Years( calendar.toIso( dateTimeUnit ).toJdkDate() ); }
/** * Returns the current date the cal. */ public Date time() { return getCalendar().toIso( dateTimeUnit ).toJdkDate(); } }
@Override public Period createPeriod( DateTimeUnit dateTimeUnit, org.hisp.dhis.calendar.Calendar calendar ) { return createPeriod( createCalendarInstance( dateTimeUnit.toJdkDate() ) ); }
@Override public List<Period> generateRollingPeriods( DateTimeUnit dateTimeUnit, Calendar calendar ) { return generateLast5Years( calendar.toIso( dateTimeUnit ).toJdkDate() ); }
@Override public List<Period> generateRollingPeriods( DateTimeUnit dateTimeUnit, Calendar calendar ) { return generateRollingPeriods( calendar.toIso( dateTimeUnit ).toJdkDate() ); }
@Override public Date getRewindedDate( Date date, Integer rewindedPeriods ) { Calendar cal = getCalendar(); date = date != null ? date : new Date(); rewindedPeriods = rewindedPeriods != null ? rewindedPeriods : 1; DateTimeUnit dateTimeUnit = createLocalDateUnitInstance( date ); dateTimeUnit = cal.minusMonths( dateTimeUnit, rewindedPeriods * 3 ); return cal.toIso( dateTimeUnit ).toJdkDate(); } }
@Override public Date getRewindedDate( Date date, Integer rewindedPeriods ) { Calendar cal = getCalendar(); Date rewindedDate = date != null ? date : new Date(); rewindedPeriods = rewindedPeriods != null ? rewindedPeriods : 1; DateTimeUnit dateTimeUnit = createLocalDateUnitInstance( rewindedDate ); dateTimeUnit = cal.minusWeeks( dateTimeUnit, rewindedPeriods * 2); return cal.toIso( dateTimeUnit ).toJdkDate(); }
@Override public Date getRewindedDate( Date date, Integer rewindedPeriods ) { Calendar calendar = getCalendar(); date = date != null ? date : new Date(); rewindedPeriods = rewindedPeriods != null ? rewindedPeriods : 1; DateTimeUnit dateTimeUnit = createLocalDateUnitInstance( date ); dateTimeUnit = calendar.minusYears( dateTimeUnit, rewindedPeriods ); return calendar.toIso( dateTimeUnit ).toJdkDate(); } }
@Override public Date getRewindedDate( Date date, Integer rewindedPeriods ) { Calendar cal = getCalendar(); date = date != null ? date : new Date(); rewindedPeriods = rewindedPeriods != null ? rewindedPeriods : 1; DateTimeUnit dateTimeUnit = createLocalDateUnitInstance( date, cal ); dateTimeUnit = cal.minusDays( dateTimeUnit, rewindedPeriods ); return cal.toIso( dateTimeUnit ).toJdkDate(); } }
@Override public Date getRewindedDate( Date date, Integer rewindedPeriods ) { Calendar cal = getCalendar(); date = date != null ? date : new Date(); rewindedPeriods = rewindedPeriods != null ? rewindedPeriods : 1; DateTimeUnit dateTimeUnit = createLocalDateUnitInstance( date ); cal.minusMonths( dateTimeUnit, rewindedPeriods * 6 ); return cal.toIso( dateTimeUnit ).toJdkDate(); } }
@Override public Date getRewindedDate( Date date, Integer rewindedPeriods ) { Calendar cal = getCalendar(); date = date != null ? date : new Date(); rewindedPeriods = rewindedPeriods != null ? rewindedPeriods : 1; DateTimeUnit dateTimeUnit = createLocalDateUnitInstance( date, cal ); dateTimeUnit = cal.minusYears( dateTimeUnit, rewindedPeriods ); return cal.toIso( dateTimeUnit ).toJdkDate(); } }
@Override public Date getRewindedDate( Date date, Integer rewindedPeriods ) { Calendar cal = getCalendar(); date = date != null ? date : new Date(); rewindedPeriods = rewindedPeriods != null ? rewindedPeriods : 1; DateTimeUnit dateTimeUnit = createLocalDateUnitInstance( date ); dateTimeUnit = cal.minusWeeks( dateTimeUnit, rewindedPeriods ); return cal.toIso( dateTimeUnit ).toJdkDate(); }
/** * Offsets the input date with the provided number of periods within the current period type. * If the offset number is positive, the date is offset into later periods. When the offset is * negative, the date is offset into earlier periods. * @param date for where to start the offset. * @param period how many periods to go back(if negative) or forward(if positive). A value of 0 will * result in the original date to be returned. * @return a new date object that has been offset from the original date passed into the function. */ public Date getDateWithOffset( Date date, int offset ) { org.hisp.dhis.calendar.Calendar calendar = getCalendar(); DateTimeUnit dateTimeUnit = createLocalDateUnitInstance( date, calendar ); return getDateWithOffset( dateTimeUnit, offset, calendar ).toJdkDate(); }
@Override public Date getRewindedDate( Date date, Integer rewindedPeriods ) { Calendar cal = getCalendar(); date = date != null ? date : new Date(); rewindedPeriods = rewindedPeriods != null ? rewindedPeriods : 1; DateTimeUnit dateTimeUnit = cal.fromIso( DateTimeUnit.fromJdkDate( date ) ); dateTimeUnit = cal.minusMonths( dateTimeUnit, rewindedPeriods ); return cal.toIso( dateTimeUnit ).toJdkDate(); }
@Override public Date getRewindedDate( Date date, Integer rewindedPeriods ) { Calendar cal = getCalendar(); date = date != null ? date : new Date(); rewindedPeriods = rewindedPeriods != null ? rewindedPeriods : 1; DateTimeUnit dateTimeUnit = cal.fromIso( DateTimeUnit.fromJdkDate( date ) ); dateTimeUnit = cal.minusMonths( dateTimeUnit, rewindedPeriods ); return cal.toIso( dateTimeUnit ).toJdkDate(); } }
/** * @param dateInterval DateInterval to create period from * @return the period. */ public Period createPeriod( DateInterval dateInterval ) { if ( dateInterval == null || dateInterval.getFrom() == null || dateInterval.getTo() == null ) { return null; } org.hisp.dhis.calendar.Calendar cal = getCalendar(); final DateTimeUnit from = cal.toIso( dateInterval.getFrom() ); final DateTimeUnit to = cal.toIso( dateInterval.getTo() ); return new Period( this, from.toJdkDate(), to.toJdkDate(), getIsoDate( from ) ); }
/** * Generates weekly Periods for the whole year in which the given Period's * startDate exists. */ @Override public List<Period> generatePeriods( DateTimeUnit start ) { Calendar calendar = getCalendar(); List<Period> periods = new ArrayList<>(); start = new DateTimeUnit( start ); // create clone so we don't modify the original start DT start.setMonth( 1 ); start.setDay( 4 ); start = adjustToStartOfWeek( start, calendar ); for ( int i = 0; i < calendar.weeksInYear( start.getYear() ); i++ ) { DateInterval interval = calendar.toInterval( start, DateIntervalType.ISO8601_WEEK ); periods.add( new Period( this, interval.getFrom().toJdkDate(), interval.getTo().toJdkDate() ) ); start = calendar.plusWeeks( start, 1 ); } return periods; }