This chronology defines the rules of the proleptic Discordian calendar system. The Discordian differs from the Gregorian in terms of month and week lengths, with an offset year. Dates are aligned such that each Discordian year starts with each ISO year, with an offset index.
This class is not proleptic. It implements Discordian rules only since YOLD 1 (ISO BCE 1166).
The fields are defined as follows:
| Modifier and Type | Field and Description |
|---|---|
| private static final ValueRange | ALIGNED_DOW_OF_YEAR_RANGE
Range of aligned day-of-week of year. |
| pack-priv static final ValueRange | DAY_OF_MONTH_RANGE
Range of day-of-month. |
| private static final ValueRange | DAY_OF_WEEK_RANGE
Range of day-of-week. |
| pack-priv static final int | DAYS_IN_MONTH
Days in a regular month. |
| pack-priv static final int | DAYS_IN_WEEK
Days in a regular week. |
| pack-priv static final ValueRange | EPOCH_DAY_RANGE
Range of epoch day. |
| private static final ValueRange | ERA_RANGE
Range of eras. |
| public static final DiscordianChronology | INSTANCE
Singleton instance for the Discordian chronology. |
| pack-priv static final ValueRange | MONTH_OF_YEAR_RANGE
Range of month-of-year. |
| pack-priv static final int | MONTHS_IN_YEAR
Months in a regular year. |
| pack-priv static final int | OFFSET_FROM_ISO_0000
Offset from ISO 0 |
| private static final ValueRange | PROLEPTIC_MONTH_RANGE
Range of proleptic month. |
| private static final long | serialVersionUID
Serialization version. |
| private static final ValueRange | WEEK_OF_MONTH_RANGE
Range of week-of-month. |
| private static final ValueRange | WEEK_OF_YEAR_RANGE
Range of week-of-year. |
| pack-priv static final int | WEEKS_IN_YEAR
Weeks in a regular year. |
| pack-priv static final ValueRange | YEAR_RANGE
Range of proleptic-year. |
| Access | Constructor and Description |
|---|---|
| public | DiscordianChronology()
Deprecated
Use the singleton
INSTANCE instead.
Private constructor, that is public to satisfy the |
| Modifier and Type | Method and Description |
|---|---|
| public DiscordianDate | Returns: the Discordian local date, not nullthe Discordian era, not null era, int the year-of-era yearOfEra, int the month-of-year month, int the day-of-month dayOfMonth)Overrides default java. Obtains a local date in Discordian calendar system from the era, year-of-era, month-of-year and day-of-month fields. |
| public DiscordianDate | Returns: the Discordian local date, not nullthe proleptic-year prolepticYear, int the month-of-year month, int the day-of-month dayOfMonth)Implements java. Obtains a local date in Discordian calendar system from the proleptic-year, month-of-year and day-of-month fields. |
| public DiscordianDate | Returns: the Discordian local date, not nullthe date-time object to convert, not null temporal)Implements java. Obtains a Discordian local date from another date-time object. |
| public DiscordianDate | Returns: the Discordian local date, not nullthe epoch day epochDay)Implements java. Obtains a local date in the Discordian calendar system from the epoch-day. |
| public DiscordianDate | Returns: the current Discordian local date using the system clock and default time-zone, not nullOverrides default java. Obtains the current Discordian local date from the system clock in the default time-zone. |
| public DiscordianDate | Returns: the current Discordian local date using the system clock, not nullthe zone ID to use, not null zone)Overrides default java. Obtains the current Discordian local date from the system clock in the specified time-zone. |
| public DiscordianDate | Returns: the current Discordian local date, not nullthe clock to use, not null clock)Overrides default java. Obtains the current Discordian local date from the specified clock. |
| public DiscordianDate | Returns: the Discordian local date, not nullthe Discordian era, not null era, int the year-of-era yearOfEra, int the day-of-year dayOfYear)Overrides default java. Obtains a local date in Discordian calendar system from the era, year-of-era and day-of-year fields. |
| public DiscordianDate | Returns: the Discordian local date, not nullthe proleptic-year prolepticYear, int the day-of-year dayOfYear)Implements java. Obtains a local date in the Discordian calendar system from the proleptic-year and day-of-year fields. |
| public DiscordianEra | eraOf(int
the era value era)Implements java. Creates the chronology era object from the numeric value. |
| public List | |
| public String | Returns: the calendar system type - 'discordian'Implements java. Gets the calendar type of the underlying calendar system - 'discordian'. |
| public String | Returns: the chronology ID - 'Discordian'Implements java. Gets the ID of the chronology - 'Discordian'. |
| public boolean | Returns: true if the year is a leap yearthe proleptic-year to check, not validated for range prolepticYear)Implements java. Checks if the specified year is a leap year. |
| public ChronoLocalDateTime | Returns: the Discordian local date-time, not nullthe date-time object to convert, not null temporal)Overrides default java. Obtains a Discordian local date-time from another date-time object. |
| public int | prolepticYear(Era
the era of the correct type for the chronology, not null era, int the chronology year-of-era yearOfEra)Implements java. Calculates the proleptic-year given the era and year-of-era. |
| public ValueRange | range(ChronoField
the field to get the range for, not null field)Implements java. Gets the range of valid values for the specified field. |
| private Object | |
| public DiscordianDate | resolveDate(Map<TemporalField, Long>
the map of fields to values, which can be updated, not null fieldValues, ResolverStyle the requested type of resolve, not null resolverStyle)Overrides java. Implements java. Resolves parsed |
| public ChronoZonedDateTime | Returns: the Discordian zoned date-time, not nullthe date-time object to convert, not null temporal)Overrides default java. Obtains a Discordian zoned date-time from another date-time object. |
| public ChronoZonedDateTime | Returns: the Discordian zoned date-time, not nullthe instant to create the date-time from, not null instant, ZoneId the time-zone, not null zone)Overrides default java. Obtains a Discordian zoned date-time in this chronology from an |
| ALIGNED_DOW_OF_YEAR_RANGE | back to summary |
|---|---|
| private static final ValueRange ALIGNED_DOW_OF_YEAR_RANGE Range of aligned day-of-week of year. | |
| DAY_OF_MONTH_RANGE | back to summary |
|---|---|
| pack-priv static final ValueRange DAY_OF_MONTH_RANGE Range of day-of-month. | |
| DAY_OF_WEEK_RANGE | back to summary |
|---|---|
| private static final ValueRange DAY_OF_WEEK_RANGE Range of day-of-week. | |
| DAYS_IN_MONTH | back to summary |
|---|---|
| pack-priv static final int DAYS_IN_MONTH Days in a regular month. | |
| DAYS_IN_WEEK | back to summary |
|---|---|
| pack-priv static final int DAYS_IN_WEEK Days in a regular week. | |
| EPOCH_DAY_RANGE | back to summary |
|---|---|
| pack-priv static final ValueRange EPOCH_DAY_RANGE Range of epoch day. | |
| ERA_RANGE | back to summary |
|---|---|
| private static final ValueRange ERA_RANGE Range of eras. | |
| INSTANCE | back to summary |
|---|---|
| public static final DiscordianChronology INSTANCE Singleton instance for the Discordian chronology. | |
| MONTH_OF_YEAR_RANGE | back to summary |
|---|---|
| pack-priv static final ValueRange MONTH_OF_YEAR_RANGE Range of month-of-year. | |
| MONTHS_IN_YEAR | back to summary |
|---|---|
| pack-priv static final int MONTHS_IN_YEAR Months in a regular year. | |
| OFFSET_FROM_ISO_0000 | back to summary |
|---|---|
| pack-priv static final int OFFSET_FROM_ISO_0000 Offset from ISO 0 | |
| PROLEPTIC_MONTH_RANGE | back to summary |
|---|---|
| private static final ValueRange PROLEPTIC_MONTH_RANGE Range of proleptic month. | |
| serialVersionUID | back to summary |
|---|---|
| private static final long serialVersionUID Serialization version. | |
| WEEK_OF_MONTH_RANGE | back to summary |
|---|---|
| private static final ValueRange WEEK_OF_MONTH_RANGE Range of week-of-month. | |
| WEEK_OF_YEAR_RANGE | back to summary |
|---|---|
| private static final ValueRange WEEK_OF_YEAR_RANGE Range of week-of-year. | |
| WEEKS_IN_YEAR | back to summary |
|---|---|
| pack-priv static final int WEEKS_IN_YEAR Weeks in a regular year. | |
| YEAR_RANGE | back to summary |
|---|---|
| pack-priv static final ValueRange YEAR_RANGE Range of proleptic-year. | |
| DiscordianChronology | back to summary |
|---|---|
| public DiscordianChronology()
Deprecated Use the singleton Private constructor, that is public to satisfy the
| |
| date | back to summary |
|---|---|
| public DiscordianDate date(Era era, int yearOfEra, int month, int dayOfMonth) Overrides default java. Obtains a local date in Discordian calendar system from the era, year-of-era, month-of-year and day-of-month fields.
| |
| date | back to summary |
|---|---|
| public DiscordianDate date(int prolepticYear, int month, int dayOfMonth) Implements java. Obtains a local date in Discordian calendar system from the proleptic-year, month-of-year and day-of-month fields.
| |
| date | back to summary |
|---|---|
| public DiscordianDate date(TemporalAccessor temporal) Implements java. Obtains a Discordian local date from another date-time object.
| |
| dateEpochDay | back to summary |
|---|---|
| public DiscordianDate dateEpochDay(long epochDay) Implements java. Obtains a local date in the Discordian calendar system from the epoch-day.
| |
| dateNow | back to summary |
|---|---|
| public DiscordianDate dateNow() Overrides default java. Obtains the current Discordian local date from the system clock in the default time-zone.
This will query the Using this method will prevent the ability to use an alternate clock for testing because the clock is hard-coded.
| |
| dateNow | back to summary |
|---|---|
| public DiscordianDate dateNow(ZoneId zone) Overrides default java. Obtains the current Discordian local date from the system clock in the specified time-zone.
This will query the Using this method will prevent the ability to use an alternate clock for testing because the clock is hard-coded.
| |
| dateNow | back to summary |
|---|---|
| public DiscordianDate dateNow(Clock clock) Overrides default java. Obtains the current Discordian local date from the specified clock.
This will query the specified clock to obtain the current date - today.
Using this method allows the use of an alternate clock for testing.
The alternate clock may be introduced using
| |
| dateYearDay | back to summary |
|---|---|
| public DiscordianDate dateYearDay(Era era, int yearOfEra, int dayOfYear) Overrides default java. Obtains a local date in Discordian calendar system from the era, year-of-era and day-of-year fields.
| |
| dateYearDay | back to summary |
|---|---|
| public DiscordianDate dateYearDay(int prolepticYear, int dayOfYear) Implements java. Obtains a local date in the Discordian calendar system from the proleptic-year and day-of-year fields.
| |
| eraOf | back to summary |
|---|---|
| public DiscordianEra eraOf(int era) Implements java. Doc from java. Creates the chronology era object from the numeric value. The era is, conceptually, the largest division of the time-line. Most calendar systems have a single epoch dividing the time-line into two eras. However, some have multiple eras, such as one for the reign of each leader. The exact meaning is determined by the chronology according to the following constraints. The era in use at 1970-01-01 must have the value 1. Later eras must have sequentially higher values. Earlier eras must have sequentially lower values. Each chronology must refer to an enum or similar singleton to provide the era values. This method returns the singleton era of the correct type for the specified era value.
| |
| eras | back to summary |
|---|---|
| public List Implements java. Doc from java. Gets the list of eras for the chronology. Most calendar systems have an era, within which the year has meaning. If the calendar system does not support the concept of eras, an empty list must be returned. | |
| getCalendarType | back to summary |
|---|---|
| public String getCalendarType() Implements java. Gets the calendar type of the underlying calendar system - 'discordian'. The Unicode Locale Data Markup Language (LDML) specification does not define an identifier for the Discordian calendar, but were it to do so, 'discordian' is highly likely to be chosen. | |
| getId | back to summary |
|---|---|
| public String getId() Implements java. Gets the ID of the chronology - 'Discordian'.
The ID uniquely identifies the
| |
| isLeapYear | back to summary |
|---|---|
| public boolean isLeapYear(long prolepticYear) Implements java. Checks if the specified year is a leap year. A Discordian proleptic-year is leap if the remainder after division by four equals zero. There are two special cases. If the year minus 1166 is divisible by 100 it is not a leap year, unless it is also divisible by 400, when it is a leap year. These rules produce leap days on the same dates as the ISO-8601 calendar system.
| |
| localDateTime | back to summary |
|---|---|
| public ChronoLocalDateTime Overrides default java. Obtains a Discordian local date-time from another date-time object.
| |
| prolepticYear | back to summary |
|---|---|
| public int prolepticYear(Era era, int yearOfEra) Implements java. Doc from java. Calculates the proleptic-year given the era and year-of-era. This combines the era and year-of-era into the single proleptic-year field.
If the chronology makes active use of eras, such as | |
| range | back to summary |
|---|---|
| public ValueRange range(ChronoField field) Implements java. Doc from java. Gets the range of valid values for the specified field.
All fields can be expressed as a Note that the result only describes the minimum and maximum valid values and it is important not to read too much into them. For example, there could be values within the range that are invalid for the field. This method will return a result whether or not the chronology supports the field.
| |
| readResolve | back to summary |
|---|---|
| private Object readResolve() Resolve singleton.
| |
| resolveDate | back to summary |
|---|---|
| public DiscordianDate resolveDate(Map<TemporalField, Long> fieldValues, ResolverStyle resolverStyle) Overrides java. Implements java. Doc from java. Resolves parsed
Most
The default implementation is suitable for most calendar systems.
If
| |
| zonedDateTime | back to summary |
|---|---|
| public ChronoZonedDateTime Overrides default java. Obtains a Discordian zoned date-time from another date-time object.
| |
| zonedDateTime | back to summary |
|---|---|
| public ChronoZonedDateTime Overrides default java. Obtains a Discordian zoned date-time in this chronology from an
| |