- java.lang.Object
-
- org.ojalgo.type.CalendarDate
-
- All Implemented Interfaces:
java.lang.Comparable<CalendarDate>,java.time.temporal.Temporal,java.time.temporal.TemporalAccessor
public final class CalendarDate extends java.lang.Object implements java.time.temporal.Temporal, java.lang.Comparable<CalendarDate>
Originally, long before Java 8 and its new Date and Time API, this class was designed to provide an immutable complement to the existing Date and Calendar classes and to have easy/direct access to the underlying epoch millisecond value.
In terms of the newer API it most closely corresponds to an Instant, but does not have its nanosecond granularity. At one point the plan was to remove and replace this class with Instant, but working with a single long as an "instant" representation is very practical and efficient.
It has been retrofitted to implement the Temporal interface.
- See Also:
CalendarDateDuration,CalendarDateUnit
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interfaceCalendarDate.ResolutionExtendsTemporalAdjusterbut also loosely corresponds to aTemporalUnitand/orTemporalAmount.
-
Field Summary
Fields Modifier and Type Field Description longmillisAn "instant" with ms precision.(package private) static longMILLIS_PER_SECOND(package private) static intNANOS_PER_MILLIS(package private) static intNANOS_PER_SECOND(package private) static longSECONDS_PER_DAY
-
Constructor Summary
Constructors Constructor Description CalendarDate()CalendarDate(long timeInMillis)CalendarDate(java.lang.String sqlString)CalendarDate(java.util.Calendar calendar)CalendarDate(java.util.Date date)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description java.util.CalendaradjustInto(java.util.Calendar temporal)java.util.DateadjustInto(java.util.Date temporal)<T extends java.time.temporal.Temporal>
TadjustInto(T temporal)intcompareTo(CalendarDate ref)booleanequals(java.lang.Object obj)CalendarDatefilter(CalendarDateUnit resolution)static CalendarDatefrom(java.time.temporal.TemporalAccessor temporal)longgetLong(java.time.temporal.TemporalField field)inthashCode()booleanisSupported(java.time.temporal.TemporalField field)booleanisSupported(java.time.temporal.TemporalUnit unit)static CalendarDatemake(long timeInMIllis, CalendarDate.Resolution resolution)static CalendarDatemake(java.util.Calendar calendar, CalendarDate.Resolution resolution)static CalendarDatemake(java.util.Date date, CalendarDate.Resolution resolution)static CalendarDatemake(CalendarDate.Resolution resolution)(package private) static longmillis(java.time.temporal.TemporalAccessor temporal)static CalendarDatenow()java.time.temporal.Temporalplus(long amountToAdd, java.time.temporal.TemporalUnit unit)CalendarDatestep(int aStepCount, CalendarDateUnit aStepUnit)CalendarDatestep(CalendarDateDuration aStepDuration)Only steps with the int part of CalendarDateDuration.measure .CalendarDatestep(CalendarDateUnit aStepUnit)java.util.CalendartoCalendar()static java.util.CalendartoCalendar(java.time.Instant instant)static java.util.CalendartoCalendar(java.time.Instant instant, java.util.Locale locale)static java.util.CalendartoCalendar(java.time.Instant instant, java.util.TimeZone zone)static java.util.CalendartoCalendar(java.time.Instant instant, java.util.TimeZone zone, java.util.Locale locale)java.util.CalendartoCalendar(java.util.Locale locale)java.util.CalendartoCalendar(java.util.TimeZone zone)java.util.CalendartoCalendar(java.util.TimeZone zone, java.util.Locale locale)java.util.DatetoDate()static java.util.DatetoDate(java.time.Instant instant)java.time.InstanttoInstant()static java.time.LocalDatetoLocalDate(java.time.Instant instant, java.time.ZoneId zone)java.time.LocalDatetoLocalDate(java.time.ZoneOffset offset)static java.time.LocalDatetoLocalDate(java.util.Calendar calendar)static java.time.LocalDateTimetoLocalDateTime(java.time.Instant instant, java.time.ZoneId zone)java.time.LocalDateTimetoLocalDateTime(java.time.ZoneOffset offset)static java.time.LocalTimetoLocalTime(java.time.Instant instant, java.time.ZoneId zone)java.time.LocalTimetoLocalTime(java.time.ZoneOffset offset)static java.time.OffsetDateTimetoOffsetDateTime(java.time.Instant instant, java.time.ZoneId zone)static java.time.OffsetDateTimetoOffsetDateTime(java.time.Instant instant, java.time.ZoneId zone, java.time.Instant zoneToOffsetConversionInstant)static java.time.OffsetDateTimetoOffsetDateTime(java.time.Instant instant, java.time.ZoneOffset offset)java.time.OffsetDateTimetoOffsetDateTime(java.time.ZoneOffset offset)java.lang.StringtoString()static java.time.ZonedDateTimetoZonedDateTime(java.time.Instant instant, java.time.ZoneId zone)java.time.ZonedDateTimetoZonedDateTime(java.time.ZoneOffset offset)longuntil(java.time.temporal.Temporal endExclusive, java.time.temporal.TemporalUnit unit)static CalendarDatevalueOf(java.time.Instant instant)static CalendarDatevalueOf(java.time.OffsetDateTime offsetDateTime)static CalendarDatevalueOf(java.time.ZonedDateTime zonedDateTime)CalendarDatewith(java.time.temporal.TemporalAdjuster adjuster)CalendarDatewith(java.time.temporal.TemporalField field, long newValue)
-
-
-
Field Detail
-
MILLIS_PER_SECOND
static final long MILLIS_PER_SECOND
- See Also:
- Constant Field Values
-
NANOS_PER_MILLIS
static final int NANOS_PER_MILLIS
- See Also:
- Constant Field Values
-
NANOS_PER_SECOND
static final int NANOS_PER_SECOND
- See Also:
- Constant Field Values
-
SECONDS_PER_DAY
static final long SECONDS_PER_DAY
- See Also:
- Constant Field Values
-
millis
public final long millis
An "instant" with ms precision. Equivalent to what is returned byInstant.toEpochMilli()and/orSystem.currentTimeMillis().
-
-
Constructor Detail
-
CalendarDate
public CalendarDate()
-
CalendarDate
public CalendarDate(java.util.Calendar calendar)
-
CalendarDate
public CalendarDate(java.util.Date date)
-
CalendarDate
public CalendarDate(long timeInMillis)
-
CalendarDate
public CalendarDate(java.lang.String sqlString) throws RecoverableCondition- Parameters:
sqlString- The String to parse- Throws:
RecoverableCondition- When(if parsing the String fails
-
-
Method Detail
-
from
public static CalendarDate from(java.time.temporal.TemporalAccessor temporal)
-
make
public static CalendarDate make(java.util.Calendar calendar, CalendarDate.Resolution resolution)
-
make
public static CalendarDate make(CalendarDate.Resolution resolution)
-
make
public static CalendarDate make(java.util.Date date, CalendarDate.Resolution resolution)
-
make
public static CalendarDate make(long timeInMIllis, CalendarDate.Resolution resolution)
-
now
public static CalendarDate now()
-
toCalendar
public static java.util.Calendar toCalendar(java.time.Instant instant)
-
toCalendar
public static java.util.Calendar toCalendar(java.time.Instant instant, java.util.Locale locale)
-
toCalendar
public static java.util.Calendar toCalendar(java.time.Instant instant, java.util.TimeZone zone)
-
toCalendar
public static java.util.Calendar toCalendar(java.time.Instant instant, java.util.TimeZone zone, java.util.Locale locale)
-
toDate
public static java.util.Date toDate(java.time.Instant instant)
-
toLocalDate
public static java.time.LocalDate toLocalDate(java.util.Calendar calendar)
-
toLocalDate
public static java.time.LocalDate toLocalDate(java.time.Instant instant, java.time.ZoneId zone)
-
toLocalDateTime
public static java.time.LocalDateTime toLocalDateTime(java.time.Instant instant, java.time.ZoneId zone)
-
toLocalTime
public static java.time.LocalTime toLocalTime(java.time.Instant instant, java.time.ZoneId zone)
-
toOffsetDateTime
public static java.time.OffsetDateTime toOffsetDateTime(java.time.Instant instant, java.time.ZoneId zone)
-
toOffsetDateTime
public static java.time.OffsetDateTime toOffsetDateTime(java.time.Instant instant, java.time.ZoneId zone, java.time.Instant zoneToOffsetConversionInstant)
-
toOffsetDateTime
public static java.time.OffsetDateTime toOffsetDateTime(java.time.Instant instant, java.time.ZoneOffset offset)
-
toZonedDateTime
public static java.time.ZonedDateTime toZonedDateTime(java.time.Instant instant, java.time.ZoneId zone)
-
valueOf
public static CalendarDate valueOf(java.time.Instant instant)
-
valueOf
public static CalendarDate valueOf(java.time.OffsetDateTime offsetDateTime)
-
valueOf
public static CalendarDate valueOf(java.time.ZonedDateTime zonedDateTime)
-
millis
static long millis(java.time.temporal.TemporalAccessor temporal)
-
adjustInto
public java.util.Calendar adjustInto(java.util.Calendar temporal)
-
adjustInto
public java.util.Date adjustInto(java.util.Date temporal)
-
adjustInto
public <T extends java.time.temporal.Temporal> T adjustInto(T temporal)
-
compareTo
public int compareTo(CalendarDate ref)
- Specified by:
compareToin interfacejava.lang.Comparable<CalendarDate>
-
equals
public boolean equals(java.lang.Object obj)
- Overrides:
equalsin classjava.lang.Object
-
filter
public CalendarDate filter(CalendarDateUnit resolution)
-
getLong
public long getLong(java.time.temporal.TemporalField field)
- Specified by:
getLongin interfacejava.time.temporal.TemporalAccessor
-
hashCode
public int hashCode()
- Overrides:
hashCodein classjava.lang.Object
-
isSupported
public boolean isSupported(java.time.temporal.TemporalField field)
- Specified by:
isSupportedin interfacejava.time.temporal.TemporalAccessor
-
isSupported
public boolean isSupported(java.time.temporal.TemporalUnit unit)
- Specified by:
isSupportedin interfacejava.time.temporal.Temporal
-
plus
public java.time.temporal.Temporal plus(long amountToAdd, java.time.temporal.TemporalUnit unit)- Specified by:
plusin interfacejava.time.temporal.Temporal
-
step
public CalendarDate step(CalendarDateDuration aStepDuration)
Only steps with the int part of CalendarDateDuration.measure .
-
step
public CalendarDate step(CalendarDateUnit aStepUnit)
-
step
public CalendarDate step(int aStepCount, CalendarDateUnit aStepUnit)
-
toCalendar
public java.util.Calendar toCalendar()
-
toCalendar
public java.util.Calendar toCalendar(java.util.Locale locale)
-
toCalendar
public java.util.Calendar toCalendar(java.util.TimeZone zone)
-
toCalendar
public java.util.Calendar toCalendar(java.util.TimeZone zone, java.util.Locale locale)
-
toDate
public java.util.Date toDate()
-
toInstant
public java.time.Instant toInstant()
-
toLocalDate
public java.time.LocalDate toLocalDate(java.time.ZoneOffset offset)
-
toLocalDateTime
public java.time.LocalDateTime toLocalDateTime(java.time.ZoneOffset offset)
-
toLocalTime
public java.time.LocalTime toLocalTime(java.time.ZoneOffset offset)
-
toOffsetDateTime
public java.time.OffsetDateTime toOffsetDateTime(java.time.ZoneOffset offset)
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
toZonedDateTime
public java.time.ZonedDateTime toZonedDateTime(java.time.ZoneOffset offset)
-
until
public long until(java.time.temporal.Temporal endExclusive, java.time.temporal.TemporalUnit unit)- Specified by:
untilin interfacejava.time.temporal.Temporal
-
with
public CalendarDate with(java.time.temporal.TemporalAdjuster adjuster)
- Specified by:
within interfacejava.time.temporal.Temporal
-
with
public CalendarDate with(java.time.temporal.TemporalField field, long newValue)
- Specified by:
within interfacejava.time.temporal.Temporal
-
-