/** * Converts from JDK Calendar to DateUnit * * @param calendar JDK Calendar object * @return Populated DateUnit object */ public static DateTimeUnit fromJdkCalendar( java.util.Calendar calendar ) { return fromJodaDateTime( new DateTime( calendar ) ); }
/** * Converts from JDK Date to DateUnit * * @param date JDK Date object * @return Populated DateUnit object */ public static DateTimeUnit fromJdkDate( Date date ) { return fromJodaDateTime( new DateTime( date.getTime() ), true ); }
@Override public DateTimeUnit toIso( String date ) { DateTimeFormatter format = DateTimeFormat.forPattern( getDateFormat() ); DateTime dateTime = format.parseDateTime( date ); return toIso( DateTimeUnit.fromJodaDateTime( dateTime ) ); }
@Override public DateTimeUnit minusDays( DateTimeUnit dateTimeUnit, int days ) { DateTime dateTime = dateTimeUnit.toJodaDateTime( chronology ); return DateTimeUnit.fromJodaDateTime( dateTime.minusDays( days ), dateTimeUnit.isIso8601() ); }
@Override public DateTimeUnit isoStartOfYear( int year ) { DateTime dateTime = new DateTime( year, 1, 1, 11, 0, chronology ).withChronology( ISOChronology.getInstance() ); return DateTimeUnit.fromJodaDateTime( dateTime ); } }
@Override public DateTimeUnit plusDays( DateTimeUnit dateTimeUnit, int days ) { DateTime dateTime = dateTimeUnit.toJodaDateTime( chronology ); return DateTimeUnit.fromJodaDateTime( dateTime.plusDays( days ), dateTimeUnit.isIso8601() ); }
/** * Return current instance with timeZone set to UTC * * @return DateTimeUnit instance with timeZone set to UTC */ public DateTimeUnit toUtc() { return DateTimeUnit.fromJodaDateTime( toJodaDateTime().toDateTime( DateTimeZone.UTC ), true ); }
@Override public DateTimeUnit minusMonths( DateTimeUnit dateTimeUnit, int months ) { DateTime dateTime = dateTimeUnit.toJodaDateTime( chronology ); return DateTimeUnit.fromJodaDateTime( dateTime.minusMonths( months ), dateTimeUnit.isIso8601() ); }
@Override public DateTimeUnit minusWeeks( DateTimeUnit dateTimeUnit, int weeks ) { DateTime dateTime = dateTimeUnit.toJodaDateTime( chronology ); return DateTimeUnit.fromJodaDateTime( dateTime.minusWeeks( weeks ), dateTimeUnit.isIso8601() ); }
@Override public DateTimeUnit plusMonths( DateTimeUnit dateTimeUnit, int months ) { DateTime dateTime = dateTimeUnit.toJodaDateTime( chronology ); return DateTimeUnit.fromJodaDateTime( dateTime.plusMonths( months ), dateTimeUnit.isIso8601() ); }
@Override public DateTimeUnit plusYears( DateTimeUnit dateTimeUnit, int years ) { DateTime dateTime = dateTimeUnit.toJodaDateTime( chronology ); return DateTimeUnit.fromJodaDateTime( dateTime.plusYears( years ), dateTimeUnit.isIso8601() ); }
@Override public DateTimeUnit plusWeeks( DateTimeUnit dateTimeUnit, int weeks ) { DateTime dateTime = dateTimeUnit.toJodaDateTime( chronology ); return DateTimeUnit.fromJodaDateTime( dateTime.plusWeeks( weeks ), dateTimeUnit.isIso8601() ); }
@Override public DateTimeUnit minusYears( DateTimeUnit dateTimeUnit, int years ) { DateTime dateTime = dateTimeUnit.toJodaDateTime( chronology ); return DateTimeUnit.fromJodaDateTime( dateTime.minusYears( years ), dateTimeUnit.isIso8601() ); }
private DateInterval toDayIsoInterval( DateTimeUnit dateTimeUnit, int offset, int length ) { DateTime from = dateTimeUnit.toJodaDateTime( chronology ); if ( offset > 0 ) { from = from.plusDays( offset ); } else if ( offset < 0 ) { from = from.minusDays( -offset ); } DateTime to = new DateTime( from ).plusDays( length ); DateTimeUnit fromDateTimeUnit = DateTimeUnit.fromJodaDateTime( from ); DateTimeUnit toDateTimeUnit = DateTimeUnit.fromJodaDateTime( to ); fromDateTimeUnit.setDayOfWeek( isoWeekday( fromDateTimeUnit ) ); toDateTimeUnit.setDayOfWeek( isoWeekday( toDateTimeUnit ) ); return new DateInterval( toIso( fromDateTimeUnit ), toIso( toDateTimeUnit ), DateIntervalType.ISO8601_DAY ); }
private DateInterval toMonthIsoInterval( DateTimeUnit dateTimeUnit, int offset, int length ) { DateTime from = dateTimeUnit.toJodaDateTime( chronology ); if ( offset > 0 ) { from = from.plusMonths( offset ); } else if ( offset < 0 ) { from = from.minusMonths( -offset ); } DateTime to = new DateTime( from ).plusMonths( length ).minusDays( 1 ); DateTimeUnit fromDateTimeUnit = DateTimeUnit.fromJodaDateTime( from ); DateTimeUnit toDateTimeUnit = DateTimeUnit.fromJodaDateTime( to ); fromDateTimeUnit.setDayOfWeek( isoWeekday( fromDateTimeUnit ) ); toDateTimeUnit.setDayOfWeek( isoWeekday( toDateTimeUnit ) ); return new DateInterval( toIso( fromDateTimeUnit ), toIso( toDateTimeUnit ), DateIntervalType.ISO8601_MONTH ); }
private DateInterval toYearIsoInterval( DateTimeUnit dateTimeUnit, int offset, int length ) { DateTime from = dateTimeUnit.toJodaDateTime( chronology ); if ( offset > 0 ) { from = from.plusYears( offset ); } else if ( offset < 0 ) { from = from.minusYears( -offset ); } DateTime to = new DateTime( from ).plusYears( length ).minusDays( 1 ); DateTimeUnit fromDateTimeUnit = DateTimeUnit.fromJodaDateTime( from ); DateTimeUnit toDateTimeUnit = DateTimeUnit.fromJodaDateTime( to ); fromDateTimeUnit.setDayOfWeek( isoWeekday( fromDateTimeUnit ) ); toDateTimeUnit.setDayOfWeek( isoWeekday( toDateTimeUnit ) ); return new DateInterval( toIso( fromDateTimeUnit ), toIso( toDateTimeUnit ), DateIntervalType.ISO8601_YEAR ); }
private DateInterval toWeekIsoInterval( DateTimeUnit dateTimeUnit, int offset, int length ) { DateTime from = dateTimeUnit.toJodaDateTime( chronology ); if ( offset > 0 ) { from = from.plusWeeks( offset ); } else if ( offset < 0 ) { from = from.minusWeeks( -offset ); } DateTime to = new DateTime( from ).plusWeeks( length ).minusDays( 1 ); DateTimeUnit fromDateTimeUnit = DateTimeUnit.fromJodaDateTime( from ); DateTimeUnit toDateTimeUnit = DateTimeUnit.fromJodaDateTime( to ); fromDateTimeUnit.setDayOfWeek( isoWeekday( fromDateTimeUnit ) ); toDateTimeUnit.setDayOfWeek( isoWeekday( toDateTimeUnit ) ); return new DateInterval( toIso( fromDateTimeUnit ), toIso( toDateTimeUnit ), DateIntervalType.ISO8601_WEEK ); }
@Override public DateTimeUnit fromIso( DateTimeUnit dateTimeUnit ) { if ( !dateTimeUnit.isIso8601() ) { return dateTimeUnit; } DateTime dateTime = dateTimeUnit.toJodaDateTime( ISOChronology.getInstance( DateTimeZone.forTimeZone( dateTimeUnit.getTimeZone() ) ) ); dateTime = dateTime.withChronology( chronology ); return DateTimeUnit.fromJodaDateTime( dateTime ); }
@Override public DateTimeUnit toIso( DateTimeUnit dateTimeUnit ) { if ( dateTimeUnit.isIso8601() ) { return dateTimeUnit; } DateTime dateTime = dateTimeUnit.toJodaDateTime( chronology ); dateTime = dateTime.withChronology( ISOChronology.getInstance( DateTimeZone.forTimeZone( dateTimeUnit.getTimeZone() ) ) ); return new DateTimeUnit( DateTimeUnit.fromJodaDateTime( dateTime ), true ); }
@Override public DateTimeUnit toIso( DateTimeUnit dateTimeUnit ) { if ( dateTimeUnit.isIso8601() ) { return dateTimeUnit; } DateTime dateTime = START_ISO.toJodaDateTime(); int totalDays = 0; for ( int year = START_NEPAL.getYear(); year < dateTimeUnit.getYear(); year++ ) { totalDays += getYearTotal( year ); } for ( int month = START_NEPAL.getMonth(); month < dateTimeUnit.getMonth(); month++ ) { totalDays += CONVERSION_MAP.get( dateTimeUnit.getYear() )[month]; } totalDays += dateTimeUnit.getDay() - START_NEPAL.getDay(); dateTime = dateTime.plusDays( totalDays ); return new DateTimeUnit( DateTimeUnit.fromJodaDateTime( dateTime ), true ); }