Class BaseChronology
- java.lang.Object
-
- org.joda.time.Chronology
-
- org.joda.time.chrono.BaseChronology
-
- All Implemented Interfaces:
java.io.Serializable
- Direct Known Subclasses:
AssembledChronology
public abstract class BaseChronology extends Chronology implements java.io.Serializable
BaseChronology provides a skeleton implementation for chronology classes. Many utility methods are defined, but all fields are unsupported.BaseChronology is thread-safe and immutable, and all subclasses must be as well.
- Since:
- 1.0
- See Also:
- Serialized Form
-
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description long
add(long instant, long duration, int scalar)
Adds the duration to the instant, specifying the number of times to add.long
add(ReadablePeriod period, long instant, int scalar)
Adds the period to the instant, specifying the number of times to add.DurationField
centuries()
Get the centuries duration field for this chronology.DateTimeField
centuryOfEra()
Get the century of era field for this chronology.DateTimeField
clockhourOfDay()
Get the hour of day (offset to 1-24) field for this chronology.DateTimeField
clockhourOfHalfday()
Get the hour of am/pm (offset to 1-12) field for this chronology.DateTimeField
dayOfMonth()
Get the day of month field for this chronology.DateTimeField
dayOfWeek()
Get the day of week field for this chronology.DateTimeField
dayOfYear()
Get the day of year field for this chronology.DurationField
days()
Get the days duration field for this chronology.DateTimeField
era()
Get the era field for this chronology.DurationField
eras()
Get the eras duration field for this chronology.int[]
get(ReadablePartial partial, long instant)
Gets the values of a partial from an instant.int[]
get(ReadablePeriod period, long duration)
Gets the values of a period from an interval.int[]
get(ReadablePeriod period, long startInstant, long endInstant)
Gets the values of a period from an interval.long
getDateTimeMillis(int year, int monthOfYear, int dayOfMonth, int millisOfDay)
Returns a datetime millisecond instant, formed from the given year, month, day, and millisecond values.long
getDateTimeMillis(int year, int monthOfYear, int dayOfMonth, int hourOfDay, int minuteOfHour, int secondOfMinute, int millisOfSecond)
Returns a datetime millisecond instant, formed from the given year, month, day, hour, minute, second, and millisecond values.long
getDateTimeMillis(long instant, int hourOfDay, int minuteOfHour, int secondOfMinute, int millisOfSecond)
Returns a datetime millisecond instant, from from the given instant, hour, minute, second, and millisecond values.abstract DateTimeZone
getZone()
Returns the DateTimeZone that this Chronology operates in, or null if unspecified.DateTimeField
halfdayOfDay()
Get the AM(0) PM(1) field for this chronology.DurationField
halfdays()
Get the halfdays duration field for this chronology.DateTimeField
hourOfDay()
Get the hour of day (0-23) field for this chronology.DateTimeField
hourOfHalfday()
Get the hour of am/pm (0-11) field for this chronology.DurationField
hours()
Get the hours duration field for this chronology.DurationField
millis()
Get the millis duration field for this chronology.DateTimeField
millisOfDay()
Get the millis of day field for this chronology.DateTimeField
millisOfSecond()
Get the millis of second field for this chronology.DateTimeField
minuteOfDay()
Get the minute of day field for this chronology.DateTimeField
minuteOfHour()
Get the minute of hour field for this chronology.DurationField
minutes()
Get the minutes duration field for this chronology.DateTimeField
monthOfYear()
Get the month of year field for this chronology.DurationField
months()
Get the months duration field for this chronology.DateTimeField
secondOfDay()
Get the second of day field for this chronology.DateTimeField
secondOfMinute()
Get the second of minute field for this chronology.DurationField
seconds()
Get the seconds duration field for this chronology.long
set(ReadablePartial partial, long instant)
Sets the partial into the instant.abstract java.lang.String
toString()
Gets a debugging toString.void
validate(ReadablePartial partial, int[] values)
Validates whether the fields stored in a partial instant are valid.DateTimeField
weekOfWeekyear()
Get the week of a week based year field for this chronology.DurationField
weeks()
Get the weeks duration field for this chronology.DateTimeField
weekyear()
Get the year of a week based year field for this chronology.DateTimeField
weekyearOfCentury()
Get the year of a week based year in a century field for this chronology.DurationField
weekyears()
Get the weekyears duration field for this chronology.abstract Chronology
withUTC()
Returns an instance of this Chronology that operates in the UTC time zone.abstract Chronology
withZone(DateTimeZone zone)
Returns an instance of this Chronology that operates in any time zone.DateTimeField
year()
Get the year field for this chronology.DateTimeField
yearOfCentury()
Get the year of century field for this chronology.DateTimeField
yearOfEra()
Get the year of era field for this chronology.DurationField
years()
Get the years duration field for this chronology.
-
-
-
Method Detail
-
getZone
public abstract DateTimeZone getZone()
Returns the DateTimeZone that this Chronology operates in, or null if unspecified.- Specified by:
getZone
in classChronology
- Returns:
- DateTimeZone null if unspecified
-
withUTC
public abstract Chronology withUTC()
Returns an instance of this Chronology that operates in the UTC time zone. Chronologies that do not operate in a time zone or are already UTC must return themselves.- Specified by:
withUTC
in classChronology
- Returns:
- a version of this chronology that ignores time zones
-
withZone
public abstract Chronology withZone(DateTimeZone zone)
Returns an instance of this Chronology that operates in any time zone.- Specified by:
withZone
in classChronology
- Parameters:
zone
- to use, or default if null- Returns:
- a version of this chronology with a specific time zone
- See Also:
ZonedChronology
-
getDateTimeMillis
public long getDateTimeMillis(int year, int monthOfYear, int dayOfMonth, int millisOfDay) throws java.lang.IllegalArgumentException
Returns a datetime millisecond instant, formed from the given year, month, day, and millisecond values. The set of given values must refer to a valid datetime, or else an IllegalArgumentException is thrown.The default implementation calls upon separate DateTimeFields to determine the result. Subclasses are encouraged to provide a more efficient implementation.
- Specified by:
getDateTimeMillis
in classChronology
- Parameters:
year
- year to usemonthOfYear
- month to usedayOfMonth
- day of month to usemillisOfDay
- millisecond to use- Returns:
- millisecond instant from 1970-01-01T00:00:00Z
- Throws:
java.lang.IllegalArgumentException
- if the values are invalid
-
getDateTimeMillis
public long getDateTimeMillis(int year, int monthOfYear, int dayOfMonth, int hourOfDay, int minuteOfHour, int secondOfMinute, int millisOfSecond) throws java.lang.IllegalArgumentException
Returns a datetime millisecond instant, formed from the given year, month, day, hour, minute, second, and millisecond values. The set of given values must refer to a valid datetime, or else an IllegalArgumentException is thrown.The default implementation calls upon separate DateTimeFields to determine the result. Subclasses are encouraged to provide a more efficient implementation.
- Specified by:
getDateTimeMillis
in classChronology
- Parameters:
year
- year to usemonthOfYear
- month to usedayOfMonth
- day of month to usehourOfDay
- hour to useminuteOfHour
- minute to usesecondOfMinute
- second to usemillisOfSecond
- millisecond to use- Returns:
- millisecond instant from 1970-01-01T00:00:00Z
- Throws:
java.lang.IllegalArgumentException
- if the values are invalid
-
getDateTimeMillis
public long getDateTimeMillis(long instant, int hourOfDay, int minuteOfHour, int secondOfMinute, int millisOfSecond) throws java.lang.IllegalArgumentException
Returns a datetime millisecond instant, from from the given instant, hour, minute, second, and millisecond values. The set of given values must refer to a valid datetime, or else an IllegalArgumentException is thrown.The default implementation calls upon separate DateTimeFields to determine the result. Subclasses are encouraged to provide a more efficient implementation.
- Specified by:
getDateTimeMillis
in classChronology
- Parameters:
instant
- instant to start fromhourOfDay
- hour to useminuteOfHour
- minute to usesecondOfMinute
- second to usemillisOfSecond
- millisecond to use- Returns:
- millisecond instant from 1970-01-01T00:00:00Z
- Throws:
java.lang.IllegalArgumentException
- if the values are invalid
-
validate
public void validate(ReadablePartial partial, int[] values)
Validates whether the fields stored in a partial instant are valid.This implementation uses
DateTimeField.getMinimumValue(ReadablePartial, int[])
andDateTimeField.getMaximumValue(ReadablePartial, int[])
.- Specified by:
validate
in classChronology
- Parameters:
partial
- the partial instant to validatevalues
- the values to validate, not null unless the partial is empty- Throws:
java.lang.IllegalArgumentException
- if the instant is invalid
-
get
public int[] get(ReadablePartial partial, long instant)
Gets the values of a partial from an instant.- Specified by:
get
in classChronology
- Parameters:
partial
- the partial instant to useinstant
- the instant to query- Returns:
- the values of the partial extracted from the instant
-
set
public long set(ReadablePartial partial, long instant)
Sets the partial into the instant.- Specified by:
set
in classChronology
- Parameters:
partial
- the partial instant to useinstant
- the instant to update- Returns:
- the updated instant
-
get
public int[] get(ReadablePeriod period, long startInstant, long endInstant)
Gets the values of a period from an interval.- Specified by:
get
in classChronology
- Parameters:
period
- the period instant to usestartInstant
- the start instant of an interval to queryendInstant
- the start instant of an interval to query- Returns:
- the values of the period extracted from the interval
-
get
public int[] get(ReadablePeriod period, long duration)
Gets the values of a period from an interval.- Specified by:
get
in classChronology
- Parameters:
period
- the period instant to useduration
- the duration to query- Returns:
- the values of the period extracted from the duration
-
add
public long add(ReadablePeriod period, long instant, int scalar)
Adds the period to the instant, specifying the number of times to add.- Specified by:
add
in classChronology
- Parameters:
period
- the period to add, null means add nothinginstant
- the instant to add toscalar
- the number of times to add- Returns:
- the updated instant
-
add
public long add(long instant, long duration, int scalar)
Adds the duration to the instant, specifying the number of times to add.- Specified by:
add
in classChronology
- Parameters:
instant
- the instant to add toduration
- the duration to addscalar
- the number of times to add- Returns:
- the updated instant
-
millis
public DurationField millis()
Get the millis duration field for this chronology.- Specified by:
millis
in classChronology
- Returns:
- DurationField or UnsupportedDurationField if unsupported
-
millisOfSecond
public DateTimeField millisOfSecond()
Get the millis of second field for this chronology.- Specified by:
millisOfSecond
in classChronology
- Returns:
- DateTimeField or UnsupportedDateTimeField if unsupported
-
millisOfDay
public DateTimeField millisOfDay()
Get the millis of day field for this chronology.- Specified by:
millisOfDay
in classChronology
- Returns:
- DateTimeField or UnsupportedDateTimeField if unsupported
-
seconds
public DurationField seconds()
Get the seconds duration field for this chronology.- Specified by:
seconds
in classChronology
- Returns:
- DurationField or UnsupportedDurationField if unsupported
-
secondOfMinute
public DateTimeField secondOfMinute()
Get the second of minute field for this chronology.- Specified by:
secondOfMinute
in classChronology
- Returns:
- DateTimeField or UnsupportedDateTimeField if unsupported
-
secondOfDay
public DateTimeField secondOfDay()
Get the second of day field for this chronology.- Specified by:
secondOfDay
in classChronology
- Returns:
- DateTimeField or UnsupportedDateTimeField if unsupported
-
minutes
public DurationField minutes()
Get the minutes duration field for this chronology.- Specified by:
minutes
in classChronology
- Returns:
- DurationField or UnsupportedDurationField if unsupported
-
minuteOfHour
public DateTimeField minuteOfHour()
Get the minute of hour field for this chronology.- Specified by:
minuteOfHour
in classChronology
- Returns:
- DateTimeField or UnsupportedDateTimeField if unsupported
-
minuteOfDay
public DateTimeField minuteOfDay()
Get the minute of day field for this chronology.- Specified by:
minuteOfDay
in classChronology
- Returns:
- DateTimeField or UnsupportedDateTimeField if unsupported
-
hours
public DurationField hours()
Get the hours duration field for this chronology.- Specified by:
hours
in classChronology
- Returns:
- DurationField or UnsupportedDurationField if unsupported
-
hourOfDay
public DateTimeField hourOfDay()
Get the hour of day (0-23) field for this chronology.- Specified by:
hourOfDay
in classChronology
- Returns:
- DateTimeField or UnsupportedDateTimeField if unsupported
-
clockhourOfDay
public DateTimeField clockhourOfDay()
Get the hour of day (offset to 1-24) field for this chronology.- Specified by:
clockhourOfDay
in classChronology
- Returns:
- DateTimeField or UnsupportedDateTimeField if unsupported
-
halfdays
public DurationField halfdays()
Get the halfdays duration field for this chronology.- Specified by:
halfdays
in classChronology
- Returns:
- DurationField or UnsupportedDurationField if unsupported
-
hourOfHalfday
public DateTimeField hourOfHalfday()
Get the hour of am/pm (0-11) field for this chronology.- Specified by:
hourOfHalfday
in classChronology
- Returns:
- DateTimeField or UnsupportedDateTimeField if unsupported
-
clockhourOfHalfday
public DateTimeField clockhourOfHalfday()
Get the hour of am/pm (offset to 1-12) field for this chronology.- Specified by:
clockhourOfHalfday
in classChronology
- Returns:
- DateTimeField or UnsupportedDateTimeField if unsupported
-
halfdayOfDay
public DateTimeField halfdayOfDay()
Get the AM(0) PM(1) field for this chronology.- Specified by:
halfdayOfDay
in classChronology
- Returns:
- DateTimeField or UnsupportedDateTimeField if unsupported
-
days
public DurationField days()
Get the days duration field for this chronology.- Specified by:
days
in classChronology
- Returns:
- DurationField or UnsupportedDurationField if unsupported
-
dayOfWeek
public DateTimeField dayOfWeek()
Get the day of week field for this chronology.DayOfWeek values are defined in
DateTimeConstants
. They use the ISO definitions, where 1 is Monday and 7 is Sunday.- Specified by:
dayOfWeek
in classChronology
- Returns:
- DateTimeField or UnsupportedDateTimeField if unsupported
-
dayOfMonth
public DateTimeField dayOfMonth()
Get the day of month field for this chronology.- Specified by:
dayOfMonth
in classChronology
- Returns:
- DateTimeField or UnsupportedDateTimeField if unsupported
-
dayOfYear
public DateTimeField dayOfYear()
Get the day of year field for this chronology.- Specified by:
dayOfYear
in classChronology
- Returns:
- DateTimeField or UnsupportedDateTimeField if unsupported
-
weeks
public DurationField weeks()
Get the weeks duration field for this chronology.- Specified by:
weeks
in classChronology
- Returns:
- DurationField or UnsupportedDurationField if unsupported
-
weekOfWeekyear
public DateTimeField weekOfWeekyear()
Get the week of a week based year field for this chronology.- Specified by:
weekOfWeekyear
in classChronology
- Returns:
- DateTimeField or UnsupportedDateTimeField if unsupported
-
weekyears
public DurationField weekyears()
Get the weekyears duration field for this chronology.- Specified by:
weekyears
in classChronology
- Returns:
- DurationField or UnsupportedDurationField if unsupported
-
weekyear
public DateTimeField weekyear()
Get the year of a week based year field for this chronology.- Specified by:
weekyear
in classChronology
- Returns:
- DateTimeField or UnsupportedDateTimeField if unsupported
-
weekyearOfCentury
public DateTimeField weekyearOfCentury()
Get the year of a week based year in a century field for this chronology.- Specified by:
weekyearOfCentury
in classChronology
- Returns:
- DateTimeField or UnsupportedDateTimeField if unsupported
-
months
public DurationField months()
Get the months duration field for this chronology.- Specified by:
months
in classChronology
- Returns:
- DurationField or UnsupportedDurationField if unsupported
-
monthOfYear
public DateTimeField monthOfYear()
Get the month of year field for this chronology.- Specified by:
monthOfYear
in classChronology
- Returns:
- DateTimeField or UnsupportedDateTimeField if unsupported
-
years
public DurationField years()
Get the years duration field for this chronology.- Specified by:
years
in classChronology
- Returns:
- DurationField or UnsupportedDurationField if unsupported
-
year
public DateTimeField year()
Get the year field for this chronology.- Specified by:
year
in classChronology
- Returns:
- DateTimeField or UnsupportedDateTimeField if unsupported
-
yearOfEra
public DateTimeField yearOfEra()
Get the year of era field for this chronology.- Specified by:
yearOfEra
in classChronology
- Returns:
- DateTimeField or UnsupportedDateTimeField if unsupported
-
yearOfCentury
public DateTimeField yearOfCentury()
Get the year of century field for this chronology.- Specified by:
yearOfCentury
in classChronology
- Returns:
- DateTimeField or UnsupportedDateTimeField if unsupported
-
centuries
public DurationField centuries()
Get the centuries duration field for this chronology.- Specified by:
centuries
in classChronology
- Returns:
- DurationField or UnsupportedDurationField if unsupported
-
centuryOfEra
public DateTimeField centuryOfEra()
Get the century of era field for this chronology.- Specified by:
centuryOfEra
in classChronology
- Returns:
- DateTimeField or UnsupportedDateTimeField if unsupported
-
eras
public DurationField eras()
Get the eras duration field for this chronology.- Specified by:
eras
in classChronology
- Returns:
- DurationField or UnsupportedDurationField if unsupported
-
era
public DateTimeField era()
Get the era field for this chronology.- Specified by:
era
in classChronology
- Returns:
- DateTimeField or UnsupportedDateTimeField if unsupported
-
toString
public abstract java.lang.String toString()
Gets a debugging toString.- Specified by:
toString
in classChronology
- Returns:
- a debugging string
-
-