public final class HybridDate extends Object implements ChronoLocalDate, Serializable
This date operates using the British Cutover calendar.
This class must be treated as a value type. Do not synchronize, rely on the identity hash code or use the distinction between equals() and ==.
| Modifier and Type | Method and Description |
|---|---|
ChronoLocalDateTime<HybridDate> |
atTime(LocalTime localTime) |
boolean |
equals(Object obj) |
static HybridDate |
from(TemporalAccessor temporal)
Obtains a
HybridDate from a temporal object. |
HybridChronology |
getChronology()
Gets the chronology of this date, which is the British Cutover calendar system.
|
JulianEra |
getEra()
Gets the era applicable at this date.
|
long |
getLong(TemporalField arg0) |
int |
hashCode()
A hash code for this date.
|
int |
lengthOfMonth()
Returns the length of the month represented by this date.
|
int |
lengthOfYear()
Returns the length of the year represented by this date.
|
HybridDate |
minus(long amountToSubtract,
TemporalUnit unit) |
HybridDate |
minus(TemporalAmount amount) |
static HybridDate |
now()
Obtains the current
HybridDate from the system clock in the default time-zone. |
static HybridDate |
now(Clock clock)
Obtains the current
HybridDate from the specified clock. |
static HybridDate |
now(ZoneId zone)
Obtains the current
HybridDate from the system clock in the specified time-zone. |
static HybridDate |
of(int prolepticYear,
int month,
int dayOfMonth)
Obtains a
HybridDate representing a date in the British Cutover calendar
system from the proleptic-year, month-of-year and day-of-month fields. |
HybridDate |
plus(long amountToAdd,
TemporalUnit unit) |
HybridDate |
plus(TemporalAmount amount) |
<R> R |
query(TemporalQuery<R> query) |
ValueRange |
range(TemporalField arg0) |
ValueRange |
rangeChrono(ChronoField field) |
long |
toEpochDay() |
String |
toString() |
ChronoPeriod |
until(ChronoLocalDate endDateExclusive) |
long |
until(Temporal endExclusive,
TemporalUnit unit) |
HybridDate |
with(TemporalAdjuster adjuster) |
HybridDate |
with(TemporalField field,
long newValue) |
clone, finalize, getClass, notify, notifyAll, wait, wait, waitadjustInto, compareTo, format, isAfter, isBefore, isEqual, isLeapYear, isSupported, isSupported, timeLineOrder, toStringget, getLong, rangepublic static HybridDate now()
HybridDate from the system clock in the default time-zone.
This will query the system clock in the default
time-zone to obtain the current date.
Using this method will prevent the ability to use an alternate clock for testing because the clock is hard-coded.
public static HybridDate now(ZoneId zone)
HybridDate from the system clock in the specified time-zone.
This will query the system clock to obtain the current date.
Specifying the time-zone avoids dependence on the default time-zone.
Using this method will prevent the ability to use an alternate clock for testing because the clock is hard-coded.
zone - the zone ID to use, not nullpublic static HybridDate now(Clock clock)
HybridDate 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 dependency injection.
clock - the clock to use, not nullDateTimeException - if the current date cannot be obtainedpublic static HybridDate of(int prolepticYear, int month, int dayOfMonth)
HybridDate representing a date in the British Cutover calendar
system from the proleptic-year, month-of-year and day-of-month fields.
This returns a HybridDate with the specified 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.
Invalid dates, such as September 31st will throw an exception.
prolepticYear - the British Cutover proleptic-yearmonth - the British Cutover month-of-year, from 1 to 12dayOfMonth - the British Cutover day-of-month, from 1 to 31DateTimeException - if the value of any field is out of range,
or if the day-of-month is invalid for the month-yearpublic static HybridDate from(TemporalAccessor temporal)
HybridDate from a temporal object.
This obtains a date in the British Cutover calendar system based on the specified temporal.
A TemporalAccessor represents an arbitrary set of date and time information,
which this factory converts to an instance of HybridDate.
The conversion uses the EPOCH_DAY
field, which is standardized across calendar systems.
This method matches the signature of the functional interface TemporalQuery
allowing it to be used as a query via method reference, HybridDate::from.
from in interface ChronoLocalDatetemporal - the temporal object to convert, not nullDateTimeException - if unable to convert to a HybridDatepublic ValueRange rangeChrono(ChronoField field)
public HybridChronology getChronology()
The Chronology represents the calendar system in use.
The era and other fields in ChronoField are defined by the chronology.
getChronology in interface ChronoLocalDatepublic JulianEra getEra()
The British Cutover calendar system has two eras, 'AD' and 'BC',
defined by JulianEra.
getEra in interface ChronoLocalDatepublic int lengthOfMonth()
This returns the length of the month in days. This takes into account the cutover, returning 19 in September 1752.
lengthOfMonth in interface ChronoLocalDatepublic int lengthOfYear()
This returns the length of the year in days. This takes into account the cutover, returning 355 in 1752.
lengthOfYear in interface ChronoLocalDatepublic HybridDate with(TemporalAdjuster adjuster)
with in interface ChronoLocalDatewith in interface Temporalpublic HybridDate with(TemporalField field, long newValue)
with in interface ChronoLocalDatewith in interface Temporalpublic HybridDate plus(TemporalAmount amount)
plus in interface ChronoLocalDateplus in interface Temporalpublic HybridDate plus(long amountToAdd, TemporalUnit unit)
plus in interface ChronoLocalDateplus in interface Temporalpublic HybridDate minus(TemporalAmount amount)
minus in interface ChronoLocalDateminus in interface Temporalpublic HybridDate minus(long amountToSubtract, TemporalUnit unit)
minus in interface ChronoLocalDateminus in interface Temporalpublic ChronoLocalDateTime<HybridDate> atTime(LocalTime localTime)
atTime in interface ChronoLocalDatepublic long until(Temporal endExclusive, TemporalUnit unit)
until in interface ChronoLocalDateuntil in interface Temporalpublic ChronoPeriod until(ChronoLocalDate endDateExclusive)
until in interface ChronoLocalDatepublic long toEpochDay()
toEpochDay in interface ChronoLocalDatepublic <R> R query(TemporalQuery<R> query)
query in interface ChronoLocalDatequery in interface TemporalAccessorpublic boolean equals(Object obj)
equals in interface ChronoLocalDatepublic int hashCode()
hashCode in interface ChronoLocalDatepublic ValueRange range(TemporalField arg0)
range in interface TemporalAccessorpublic long getLong(TemporalField arg0)
getLong in interface TemporalAccessorpublic String toString()
toString in interface ChronoLocalDatetoString in class ObjectCopyright © 2013–2022 The Apache Software Foundation. All rights reserved.