The British calendar system follows the rules of the Julian calendar until 1752 and the rules of the Gregorian (ISO) calendar since then. The Julian differs from the Gregorian only in terms of the leap year rule.
The Julian and Gregorian calendar systems are linked to Rome and the Vatican with the Julian preceding the Gregorian. The Gregorian was introduced to handle the drift of the seasons through the year due to the inaccurate Julian leap year rules. When first introduced by the Vatican in 1582, the cutover resulted in a "gap" of 10 days.
While the calendar was introduced in 1582, it was not adopted everywhere. Britain did not adopt it until the 1752, when Wednesday 2nd September 1752 was followed by Thursday 14th September 1752.
This chronology implements the proleptic Julian calendar system followed by
the proleptic Gregorian calendar system (identical to the ISO calendar system).
Dates are aligned such that 0001-01-01 (British) is 0000-12-30 (ISO).
This class implements a calendar where January 1st is the start of the year. The history of the start of the year is complex and using the current standard is the most consistent.
The eras of this calendar system are defined by JulianEra to avoid unnecessary duplication.
The fields are defined as follows:
| Modifier and Type | Field and Description |
|---|---|
| pack-priv static final ValueRange | ALIGNED_WOM_RANGE
Range of aligned-week-of-month. |
| pack-priv static final ValueRange | ALIGNED_WOY_RANGE
Range of aligned-week-of-year. |
| public static final LocalDate | CUTOVER
The cutover date, Thursday 14th September 1752. |
| pack-priv static final int | CUTOVER_DAYS
The number of cutover days. |
| pack-priv static final int | CUTOVER_YEAR
The cutover year. |
| pack-priv static final ValueRange | DOY_RANGE
Range of day-of-year. |
| public static final BritishCutoverChronology | INSTANCE
Singleton instance for the Coptic chronology. |
| pack-priv static final ValueRange | PROLEPTIC_MONTH_RANGE
Range of proleptic month. |
| private static final long | serialVersionUID
Serialization version. |
| pack-priv static final ValueRange | YEAR_RANGE
Range of proleptic-year. |
| pack-priv static final ValueRange | YOE_RANGE
Range of year. |
| Access | Constructor and Description |
|---|---|
| public | BritishCutoverChronology()
Deprecated
Use the singleton
INSTANCE instead.
Private constructor, that is public to satisfy the |
| Modifier and Type | Method and Description |
|---|---|
| public BritishCutoverDate | Returns: the British Cutover local date, not nullthe British Cutover 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 British Cutover calendar system from the era, year-of-era, month-of-year and day-of-month fields. |
| public BritishCutoverDate | Returns: the British Cutover 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 British Cutover calendar system from the proleptic-year, month-of-year and day-of-month fields. |
| public BritishCutoverDate | Returns: the British Cutover local date, not nullthe date-time object to convert, not null temporal)Implements java. Obtains a British Cutover local date from another date-time object. |
| public BritishCutoverDate | Returns: the British Cutover local date, not nullthe epoch day epochDay)Implements java. Obtains a local date in the British Cutover calendar system from the epoch-day. |
| public BritishCutoverDate | Returns: the current British Cutover local date using the system clock and default time-zone, not nullOverrides default java. Obtains the current British Cutover local date from the system clock in the default time-zone. |
| public BritishCutoverDate | Returns: the current British Cutover local date using the system clock, not nullthe zone ID to use, not null zone)Overrides default java. Obtains the current British Cutover local date from the system clock in the specified time-zone. |
| public BritishCutoverDate | Returns: the current British Cutover local date, not nullthe clock to use, not null clock)Overrides default java. Obtains the current British Cutover local date from the specified clock. |
| public BritishCutoverDate | Returns: the British Cutover local date, not nullthe British Cutover era, not null era, int the year-of-era yearOfEra, int the day-of-year dayOfYear)Overrides default java. Obtains a local date in British Cutover calendar system from the era, year-of-era and day-of-year fields. |
| public BritishCutoverDate | Returns: the British Cutover local date, not nullthe proleptic-year prolepticYear, int the day-of-year dayOfYear)Implements java. Obtains a local date in British Cutover calendar system from the proleptic-year and day-of-year fields. |
| public JulianEra | eraOf(int
the era value eraValue)Implements java. Creates the chronology era object from the numeric value. |
| public List | |
| public String | Returns: the calendar system type, nullImplements java. Gets the calendar type of the underlying calendar system, which returns null. |
| public LocalDate | Returns: the first date after the cutover, not nullGets the cutover date between the Julian and Gregorian calendar. |
| public String | Returns: the chronology ID - 'BritishCutover'Implements java. Gets the ID of the chronology - 'BritishCutover'. |
| 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 British Cutover local date-time, not nullthe date-time object to convert, not null temporal)Overrides default java. Obtains a British Cutover 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 BritishCutoverDate | 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 British Cutover zoned date-time, not nullthe date-time object to convert, not null temporal)Overrides default java. Obtains a British Cutover zoned date-time from another date-time object. |
| public ChronoZonedDateTime | Returns: the British Cutover 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 British Cutover zoned date-time in this chronology from an |
| ALIGNED_WOM_RANGE | back to summary |
|---|---|
| pack-priv static final ValueRange ALIGNED_WOM_RANGE Range of aligned-week-of-month. | |
| ALIGNED_WOY_RANGE | back to summary |
|---|---|
| pack-priv static final ValueRange ALIGNED_WOY_RANGE Range of aligned-week-of-year. | |
| CUTOVER | back to summary |
|---|---|
| public static final LocalDate CUTOVER The cutover date, Thursday 14th September 1752. | |
| CUTOVER_DAYS | back to summary |
|---|---|
| pack-priv static final int CUTOVER_DAYS The number of cutover days. | |
| CUTOVER_YEAR | back to summary |
|---|---|
| pack-priv static final int CUTOVER_YEAR The cutover year. | |
| DOY_RANGE | back to summary |
|---|---|
| pack-priv static final ValueRange DOY_RANGE Range of day-of-year. | |
| INSTANCE | back to summary |
|---|---|
| public static final BritishCutoverChronology INSTANCE Singleton instance for the Coptic chronology. | |
| PROLEPTIC_MONTH_RANGE | back to summary |
|---|---|
| pack-priv static final ValueRange PROLEPTIC_MONTH_RANGE Range of proleptic month. | |
| serialVersionUID | back to summary |
|---|---|
| private static final long serialVersionUID Serialization version. | |
| YEAR_RANGE | back to summary |
|---|---|
| pack-priv static final ValueRange YEAR_RANGE Range of proleptic-year. | |
| YOE_RANGE | back to summary |
|---|---|
| pack-priv static final ValueRange YOE_RANGE Range of year. | |
| BritishCutoverChronology | back to summary |
|---|---|
| public BritishCutoverChronology()
Deprecated Use the singleton Private constructor, that is public to satisfy the
| |
| date | back to summary |
|---|---|
| public BritishCutoverDate date(Era era, int yearOfEra, int month, int dayOfMonth) Overrides default java. Obtains a local date in British Cutover calendar system from the era, year-of-era, month-of-year and day-of-month fields. Dates in the middle of the cutover gap, such as the 10th September 1752, will not throw an exception. Instead, the date will be treated as a Julian date and converted to an ISO date, with the day of month shifted by 11 days.
| |
| date | back to summary |
|---|---|
| public BritishCutoverDate date(int prolepticYear, int month, int dayOfMonth) Implements java. Obtains a local date in British Cutover calendar system from the proleptic-year, month-of-year and day-of-month fields. Dates in the middle of the cutover gap, such as the 10th September 1752, will not throw an exception. Instead, the date will be treated as a Julian date and converted to an ISO date, with the day of month shifted by 11 days.
| |
| date | back to summary |
|---|---|
| public BritishCutoverDate date(TemporalAccessor temporal) Implements java. Obtains a British Cutover local date from another date-time object.
| |
| dateEpochDay | back to summary |
|---|---|
| public BritishCutoverDate dateEpochDay(long epochDay) Implements java. Obtains a local date in the British Cutover calendar system from the epoch-day.
| |
| dateNow | back to summary |
|---|---|
| public BritishCutoverDate dateNow() Overrides default java. Obtains the current British Cutover 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 BritishCutoverDate dateNow(ZoneId zone) Overrides default java. Obtains the current British Cutover 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 BritishCutoverDate dateNow(Clock clock) Overrides default java. Obtains the current British Cutover 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 BritishCutoverDate dateYearDay(Era era, int yearOfEra, int dayOfYear) Overrides default java. Obtains a local date in British Cutover calendar system from the era, year-of-era and day-of-year fields. The day-of-year takes into account the cutover, thus there are only 355 days in 1752.
| |
| dateYearDay | back to summary |
|---|---|
| public BritishCutoverDate dateYearDay(int prolepticYear, int dayOfYear) Implements java. Obtains a local date in British Cutover calendar system from the proleptic-year and day-of-year fields. The day-of-year takes into account the cutover, thus there are only 355 days in 1752.
| |
| eraOf | back to summary |
|---|---|
| public JulianEra eraOf(int eraValue) 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, which returns null. The Unicode Locale Data Markup Language (LDML) specification does not define an identifier for this calendar system, thus null is returned. | |
| getCutover | back to summary |
|---|---|
| public LocalDate getCutover() Gets the cutover date between the Julian and Gregorian calendar. The date returned is the first date that the Gregorian (ISO) calendar applies, which is Thursday 14th September 1752.
| |
| getId | back to summary |
|---|---|
| public String getId() Implements java. Gets the ID of the chronology - 'BritishCutover'.
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.
The result will return the same as
| |
| localDateTime | back to summary |
|---|---|
| public ChronoLocalDateTime Overrides default java. Obtains a British Cutover 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 BritishCutoverDate 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 British Cutover zoned date-time from another date-time object.
| |
| zonedDateTime | back to summary |
|---|---|
| public ChronoZonedDateTime Overrides default java. Obtains a British Cutover zoned date-time in this chronology from an
| |