use of org.joda.time.field.RemainderDateTimeField in project joda-time by JodaOrg.
the class BuddhistChronology method assemble.
protected void assemble(Fields fields) {
if (getParam() == null) {
// force init as used below
fields.eras = UnsupportedDurationField.getInstance(DurationFieldType.eras());
// julian chrono removed zero, but we need to put it back
DateTimeField field = fields.year;
fields.year = new OffsetDateTimeField(new SkipUndoDateTimeField(this, field), BUDDHIST_OFFSET);
// one era, so yearOfEra is the same
field = fields.yearOfEra;
fields.yearOfEra = new DelegatedDateTimeField(fields.year, fields.eras, DateTimeFieldType.yearOfEra());
// julian chrono removed zero, but we need to put it back
field = fields.weekyear;
fields.weekyear = new OffsetDateTimeField(new SkipUndoDateTimeField(this, field), BUDDHIST_OFFSET);
field = new OffsetDateTimeField(fields.yearOfEra, 99);
fields.centuryOfEra = new DividedDateTimeField(field, fields.eras, DateTimeFieldType.centuryOfEra(), 100);
fields.centuries = fields.centuryOfEra.getDurationField();
field = new RemainderDateTimeField((DividedDateTimeField) fields.centuryOfEra);
fields.yearOfCentury = new OffsetDateTimeField(field, DateTimeFieldType.yearOfCentury(), 1);
field = new RemainderDateTimeField(fields.weekyear, fields.centuries, DateTimeFieldType.weekyearOfCentury(), 100);
fields.weekyearOfCentury = new OffsetDateTimeField(field, DateTimeFieldType.weekyearOfCentury(), 1);
fields.era = ERA_FIELD;
}
}
use of org.joda.time.field.RemainderDateTimeField in project joda-time by JodaOrg.
the class BasicChronology method assemble.
protected void assemble(Fields fields) {
// First copy fields that are the same for all Gregorian and Julian
// chronologies.
fields.millis = cMillisField;
fields.seconds = cSecondsField;
fields.minutes = cMinutesField;
fields.hours = cHoursField;
fields.halfdays = cHalfdaysField;
fields.days = cDaysField;
fields.weeks = cWeeksField;
fields.millisOfSecond = cMillisOfSecondField;
fields.millisOfDay = cMillisOfDayField;
fields.secondOfMinute = cSecondOfMinuteField;
fields.secondOfDay = cSecondOfDayField;
fields.minuteOfHour = cMinuteOfHourField;
fields.minuteOfDay = cMinuteOfDayField;
fields.hourOfDay = cHourOfDayField;
fields.hourOfHalfday = cHourOfHalfdayField;
fields.clockhourOfDay = cClockhourOfDayField;
fields.clockhourOfHalfday = cClockhourOfHalfdayField;
fields.halfdayOfDay = cHalfdayOfDayField;
// Now create fields that have unique behavior for Gregorian and Julian
// chronologies.
fields.year = new BasicYearDateTimeField(this);
fields.yearOfEra = new GJYearOfEraDateTimeField(fields.year, this);
// Define one-based centuryOfEra and yearOfCentury.
DateTimeField field = new OffsetDateTimeField(fields.yearOfEra, 99);
fields.centuryOfEra = new DividedDateTimeField(field, DateTimeFieldType.centuryOfEra(), 100);
fields.centuries = fields.centuryOfEra.getDurationField();
field = new RemainderDateTimeField((DividedDateTimeField) fields.centuryOfEra);
fields.yearOfCentury = new OffsetDateTimeField(field, DateTimeFieldType.yearOfCentury(), 1);
fields.era = new GJEraDateTimeField(this);
fields.dayOfWeek = new GJDayOfWeekDateTimeField(this, fields.days);
fields.dayOfMonth = new BasicDayOfMonthDateTimeField(this, fields.days);
fields.dayOfYear = new BasicDayOfYearDateTimeField(this, fields.days);
fields.monthOfYear = new GJMonthOfYearDateTimeField(this);
fields.weekyear = new BasicWeekyearDateTimeField(this);
fields.weekOfWeekyear = new BasicWeekOfWeekyearDateTimeField(this, fields.weeks);
field = new RemainderDateTimeField(fields.weekyear, fields.centuries, DateTimeFieldType.weekyearOfCentury(), 100);
fields.weekyearOfCentury = new OffsetDateTimeField(field, DateTimeFieldType.weekyearOfCentury(), 1);
// The remaining (imprecise) durations are available from the newly
// created datetime fields.
fields.years = fields.year.getDurationField();
fields.months = fields.monthOfYear.getDurationField();
fields.weekyears = fields.weekyear.getDurationField();
}
use of org.joda.time.field.RemainderDateTimeField in project joda-time by JodaOrg.
the class ISOChronology method assemble.
protected void assemble(Fields fields) {
if (getBase().getZone() == DateTimeZone.UTC) {
// Use zero based century and year of century.
fields.centuryOfEra = new DividedDateTimeField(ISOYearOfEraDateTimeField.INSTANCE, DateTimeFieldType.centuryOfEra(), 100);
fields.centuries = fields.centuryOfEra.getDurationField();
fields.yearOfCentury = new RemainderDateTimeField((DividedDateTimeField) fields.centuryOfEra, DateTimeFieldType.yearOfCentury());
fields.weekyearOfCentury = new RemainderDateTimeField((DividedDateTimeField) fields.centuryOfEra, fields.weekyears, DateTimeFieldType.weekyearOfCentury());
}
}
Aggregations