Class FixedYearVariableMonthChronology
- java.lang.Object
-
- org.joda.time.Chronology
-
- org.joda.time.chrono.BaseChronology
-
- uk.ac.rdg.resc.edal.util.chronologies.FixedYearVariableMonthChronology
-
- All Implemented Interfaces:
Serializable
- Direct Known Subclasses:
AllLeapChronology,NoLeapChronology
public class FixedYearVariableMonthChronology extends org.joda.time.chrono.BaseChronologyA
Chronologyin which each year has the same number of days but the lengths of the months may be different. May be useful for climate and palaeoclimate calendars.In this Chronology, a millisecond instant of zero corresponds with 1970-01-01T00:00:00.000Z and a year has a fixed number of milliseconds.
There is no concept of an era in this calendar, so all durations and fields relating to this concept are not supported. Additionally, the concept of a "weekyear" (the year that "owns" a given week) is not implemented.
Instances of this class can only be created in UTC. (Support for time zones makes little sense in this chronology).
Instances of this class are immutable.
- Author:
- Jon
- See Also:
- CF conventions, Serialized Form
-
-
Constructor Summary
Constructors Constructor Description FixedYearVariableMonthChronology(int[] monthLengths)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description org.joda.time.DurationFieldcenturies()org.joda.time.DateTimeFieldclockhourOfDay()org.joda.time.DateTimeFieldclockhourOfHalfday()org.joda.time.DateTimeFielddayOfMonth()org.joda.time.DateTimeFielddayOfWeek()org.joda.time.DateTimeFielddayOfYear()org.joda.time.DurationFielddays()Each day has exactly the same length: there is no daylight savinglonggetAverageMillisInMonth()Gets the average number of milliseconds in each monthint[]getMonthLengths()Gets the length of each month in days.org.joda.time.DateTimeZonegetZone()Always returns UTCorg.joda.time.DateTimeFieldhalfdayOfDay()org.joda.time.DurationFieldhalfdays()org.joda.time.DateTimeFieldhourOfDay()org.joda.time.DateTimeFieldhourOfHalfday()org.joda.time.DurationFieldhours()org.joda.time.DurationFieldmillis()org.joda.time.DateTimeFieldmillisOfDay()org.joda.time.DateTimeFieldmillisOfSecond()org.joda.time.DateTimeFieldminuteOfDay()org.joda.time.DateTimeFieldminuteOfHour()org.joda.time.DurationFieldminutes()org.joda.time.DateTimeFieldmonthOfYear()org.joda.time.DurationFieldmonths()org.joda.time.DateTimeFieldsecondOfDay()org.joda.time.DateTimeFieldsecondOfMinute()org.joda.time.DurationFieldseconds()StringtoString()org.joda.time.DurationFieldweeks()Each week has 7 daysorg.joda.time.ChronologywithUTC()Returns this objectorg.joda.time.ChronologywithZone(org.joda.time.DateTimeZone zone)Throws UnsupportedOperationException unless the time zone is UTCorg.joda.time.DateTimeFieldyear()org.joda.time.DateTimeFieldyearOfCentury()org.joda.time.DurationFieldyears()
-
-
-
Constructor Detail
-
FixedYearVariableMonthChronology
public FixedYearVariableMonthChronology(int[] monthLengths)
- Parameters:
monthLengths- The number of days in each month- Throws:
NullPointerException- if monthLengths is nullIllegalArgumentException- if monthLengths is empty or contains zero or negative values.
-
-
Method Detail
-
dayOfMonth
public final org.joda.time.DateTimeField dayOfMonth()
-
monthOfYear
public final org.joda.time.DateTimeField monthOfYear()
-
months
public final org.joda.time.DurationField months()
-
getMonthLengths
public int[] getMonthLengths()
Gets the length of each month in days. Returns a new array with each invocation to maintain integrity of internal data.
-
getAverageMillisInMonth
public long getAverageMillisInMonth()
Gets the average number of milliseconds in each month
-
toString
public String toString()
- Specified by:
toStringin classorg.joda.time.chrono.BaseChronology
-
millis
public final org.joda.time.DurationField millis()
- Overrides:
millisin classorg.joda.time.chrono.BaseChronology
-
seconds
public final org.joda.time.DurationField seconds()
- Overrides:
secondsin classorg.joda.time.chrono.BaseChronology
-
minutes
public final org.joda.time.DurationField minutes()
- Overrides:
minutesin classorg.joda.time.chrono.BaseChronology
-
hours
public final org.joda.time.DurationField hours()
- Overrides:
hoursin classorg.joda.time.chrono.BaseChronology
-
halfdays
public final org.joda.time.DurationField halfdays()
- Overrides:
halfdaysin classorg.joda.time.chrono.BaseChronology
-
days
public final org.joda.time.DurationField days()
Each day has exactly the same length: there is no daylight saving- Overrides:
daysin classorg.joda.time.chrono.BaseChronology
-
weeks
public final org.joda.time.DurationField weeks()
Each week has 7 days- Overrides:
weeksin classorg.joda.time.chrono.BaseChronology
-
years
public final org.joda.time.DurationField years()
- Overrides:
yearsin classorg.joda.time.chrono.BaseChronology
-
centuries
public final org.joda.time.DurationField centuries()
- Overrides:
centuriesin classorg.joda.time.chrono.BaseChronology
-
millisOfSecond
public final org.joda.time.DateTimeField millisOfSecond()
- Overrides:
millisOfSecondin classorg.joda.time.chrono.BaseChronology
-
millisOfDay
public final org.joda.time.DateTimeField millisOfDay()
- Overrides:
millisOfDayin classorg.joda.time.chrono.BaseChronology
-
secondOfMinute
public final org.joda.time.DateTimeField secondOfMinute()
- Overrides:
secondOfMinutein classorg.joda.time.chrono.BaseChronology
-
secondOfDay
public final org.joda.time.DateTimeField secondOfDay()
- Overrides:
secondOfDayin classorg.joda.time.chrono.BaseChronology
-
minuteOfHour
public final org.joda.time.DateTimeField minuteOfHour()
- Overrides:
minuteOfHourin classorg.joda.time.chrono.BaseChronology
-
minuteOfDay
public final org.joda.time.DateTimeField minuteOfDay()
- Overrides:
minuteOfDayin classorg.joda.time.chrono.BaseChronology
-
hourOfDay
public final org.joda.time.DateTimeField hourOfDay()
- Overrides:
hourOfDayin classorg.joda.time.chrono.BaseChronology
-
hourOfHalfday
public final org.joda.time.DateTimeField hourOfHalfday()
- Overrides:
hourOfHalfdayin classorg.joda.time.chrono.BaseChronology
-
halfdayOfDay
public final org.joda.time.DateTimeField halfdayOfDay()
- Overrides:
halfdayOfDayin classorg.joda.time.chrono.BaseChronology
-
clockhourOfDay
public final org.joda.time.DateTimeField clockhourOfDay()
- Overrides:
clockhourOfDayin classorg.joda.time.chrono.BaseChronology
-
clockhourOfHalfday
public final org.joda.time.DateTimeField clockhourOfHalfday()
- Overrides:
clockhourOfHalfdayin classorg.joda.time.chrono.BaseChronology
-
dayOfWeek
public final org.joda.time.DateTimeField dayOfWeek()
- Overrides:
dayOfWeekin classorg.joda.time.chrono.BaseChronology
-
dayOfYear
public final org.joda.time.DateTimeField dayOfYear()
- Overrides:
dayOfYearin classorg.joda.time.chrono.BaseChronology
-
year
public final org.joda.time.DateTimeField year()
- Overrides:
yearin classorg.joda.time.chrono.BaseChronology
-
yearOfCentury
public final org.joda.time.DateTimeField yearOfCentury()
- Overrides:
yearOfCenturyin classorg.joda.time.chrono.BaseChronology
-
getZone
public final org.joda.time.DateTimeZone getZone()
Always returns UTC- Specified by:
getZonein classorg.joda.time.chrono.BaseChronology
-
withZone
public final org.joda.time.Chronology withZone(org.joda.time.DateTimeZone zone)
Throws UnsupportedOperationException unless the time zone is UTC- Specified by:
withZonein classorg.joda.time.chrono.BaseChronology
-
withUTC
public final org.joda.time.Chronology withUTC()
Returns this object- Specified by:
withUTCin classorg.joda.time.chrono.BaseChronology
-
-