@Override public DateTimeUnit toIso( String date ) { DateTimeFormatter format = DateTimeFormat.forPattern( getDateFormat() ); DateTime dateTime = format.parseDateTime( date ); return toIso( DateTimeUnit.fromJodaDateTime( dateTime ) ); }
@Override public DateInterval toInterval( DateIntervalType type, int offset, int length ) { return toInterval( today(), type, offset, length ); }
@Override public boolean isValid( DateTimeUnit dateTime ) { if ( dateTime.getMonth() < 1 || dateTime.getMonth() > monthsInYear() ) { return false; } if ( dateTime.getDay() < 1 || dateTime.getDay() > daysInMonth( dateTime.getYear(), dateTime.getMonth() ) ) { return false; } return true; } }
@Override public DateTimeUnit fromIso( int year, int month, int day ) { return fromIso( new DateTimeUnit( year, month, day, true ) ); }
@Override public DateInterval toInterval( DateTimeUnit dateTimeUnit, DateIntervalType type ) { return toInterval( dateTimeUnit, type, 0, 1 ); }
@Override public DateTimeUnit toIso( int year, int month, int day ) { return toIso( new DateTimeUnit( year, month, day ) ); }
@Override public String formattedDate( DateTimeUnit dateTimeUnit ) { return getDateFormat() .replace( "yyyy", String.format( "%04d", dateTimeUnit.getYear() ) ) .replace( "MM", String.format( "%02d", dateTimeUnit.getMonth() ) ) .replace( "dd", String.format( "%02d", dateTimeUnit.getDay() ) ); }
@Override public DateTimeUnit today() { DateTime dateTime = DateTime.now( ISOChronology.getInstance( DateTimeZone.getDefault() ) ); DateTimeUnit dateTimeUnit = new DateTimeUnit( dateTime.getYear(), dateTime.getMonthOfYear(), dateTime.getDayOfMonth(), true ); return fromIso( dateTimeUnit ); }
@Override public List<DateInterval> toIntervals( DateTimeUnit dateTimeUnit, DateIntervalType type, int offset, int length, int periods ) { List<DateInterval> dateIntervals = Lists.newArrayList(); for ( int i = offset; i <= (offset + periods - 1); i++ ) { dateIntervals.add( toInterval( dateTimeUnit, type, i, length ) ); } return dateIntervals; }
@Override public String formattedIsoDate( DateTimeUnit dateTimeUnit ) { dateTimeUnit = toIso( dateTimeUnit ); DateTime dateTime = dateTimeUnit.toJodaDateTime(); DateTimeFormatter format = DateTimeFormat.forPattern( getDateFormat() ); return format.print( dateTime ); }
@Override public DateInterval toInterval( DateIntervalType type ) { return toInterval( today(), type ); }