Package org.ojalgo.type
Class CalendarDate
- 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 interface
CalendarDate.Resolution
ExtendsTemporalAdjuster
but also loosely corresponds to aTemporalUnit
and/orTemporalAmount
.
-
Field Summary
Fields Modifier and Type Field Description long
millis
An "instant" with ms precision.(package private) static long
MILLIS_PER_SECOND
(package private) static int
NANOS_PER_MILLIS
(package private) static int
NANOS_PER_SECOND
(package private) static long
SECONDS_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.Calendar
adjustInto(java.util.Calendar temporal)
java.util.Date
adjustInto(java.util.Date temporal)
<T extends java.time.temporal.Temporal>
TadjustInto(T temporal)
int
compareTo(CalendarDate ref)
boolean
equals(java.lang.Object obj)
CalendarDate
filter(CalendarDateUnit resolution)
static CalendarDate
from(java.time.temporal.TemporalAccessor temporal)
long
getLong(java.time.temporal.TemporalField field)
int
hashCode()
boolean
isSupported(java.time.temporal.TemporalField field)
boolean
isSupported(java.time.temporal.TemporalUnit unit)
static CalendarDate
make(long timeInMIllis, CalendarDate.Resolution resolution)
static CalendarDate
make(java.util.Calendar calendar, CalendarDate.Resolution resolution)
static CalendarDate
make(java.util.Date date, CalendarDate.Resolution resolution)
static CalendarDate
make(CalendarDate.Resolution resolution)
(package private) static long
millis(java.time.temporal.TemporalAccessor temporal)
static CalendarDate
now()
java.time.temporal.Temporal
plus(long amountToAdd, java.time.temporal.TemporalUnit unit)
CalendarDate
step(int aStepCount, CalendarDateUnit aStepUnit)
CalendarDate
step(CalendarDateDuration aStepDuration)
Only steps with the int part of CalendarDateDuration.measure .CalendarDate
step(CalendarDateUnit aStepUnit)
java.util.Calendar
toCalendar()
static java.util.Calendar
toCalendar(java.time.Instant instant)
static java.util.Calendar
toCalendar(java.time.Instant instant, java.util.Locale locale)
static java.util.Calendar
toCalendar(java.time.Instant instant, java.util.TimeZone zone)
static java.util.Calendar
toCalendar(java.time.Instant instant, java.util.TimeZone zone, java.util.Locale locale)
java.util.Calendar
toCalendar(java.util.Locale locale)
java.util.Calendar
toCalendar(java.util.TimeZone zone)
java.util.Calendar
toCalendar(java.util.TimeZone zone, java.util.Locale locale)
java.util.Date
toDate()
static java.util.Date
toDate(java.time.Instant instant)
java.time.Instant
toInstant()
static java.time.LocalDate
toLocalDate(java.time.Instant instant, java.time.ZoneId zone)
java.time.LocalDate
toLocalDate(java.time.ZoneOffset offset)
static java.time.LocalDate
toLocalDate(java.util.Calendar calendar)
static java.time.LocalDateTime
toLocalDateTime(java.time.Instant instant, java.time.ZoneId zone)
java.time.LocalDateTime
toLocalDateTime(java.time.ZoneOffset offset)
static java.time.LocalTime
toLocalTime(java.time.Instant instant, java.time.ZoneId zone)
java.time.LocalTime
toLocalTime(java.time.ZoneOffset offset)
static java.time.OffsetDateTime
toOffsetDateTime(java.time.Instant instant, java.time.ZoneId zone)
static java.time.OffsetDateTime
toOffsetDateTime(java.time.Instant instant, java.time.ZoneId zone, java.time.Instant zoneToOffsetConversionInstant)
static java.time.OffsetDateTime
toOffsetDateTime(java.time.Instant instant, java.time.ZoneOffset offset)
java.time.OffsetDateTime
toOffsetDateTime(java.time.ZoneOffset offset)
java.lang.String
toString()
static java.time.ZonedDateTime
toZonedDateTime(java.time.Instant instant, java.time.ZoneId zone)
java.time.ZonedDateTime
toZonedDateTime(java.time.ZoneOffset offset)
long
until(java.time.temporal.Temporal endExclusive, java.time.temporal.TemporalUnit unit)
static CalendarDate
valueOf(java.time.Instant instant)
static CalendarDate
valueOf(java.time.OffsetDateTime offsetDateTime)
static CalendarDate
valueOf(java.time.ZonedDateTime zonedDateTime)
CalendarDate
with(java.time.temporal.TemporalAdjuster adjuster)
CalendarDate
with(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:
compareTo
in interfacejava.lang.Comparable<CalendarDate>
-
equals
public boolean equals(java.lang.Object obj)
- Overrides:
equals
in classjava.lang.Object
-
filter
public CalendarDate filter(CalendarDateUnit resolution)
-
getLong
public long getLong(java.time.temporal.TemporalField field)
- Specified by:
getLong
in interfacejava.time.temporal.TemporalAccessor
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
isSupported
public boolean isSupported(java.time.temporal.TemporalField field)
- Specified by:
isSupported
in interfacejava.time.temporal.TemporalAccessor
-
isSupported
public boolean isSupported(java.time.temporal.TemporalUnit unit)
- Specified by:
isSupported
in interfacejava.time.temporal.Temporal
-
plus
public java.time.temporal.Temporal plus(long amountToAdd, java.time.temporal.TemporalUnit unit)
- Specified by:
plus
in 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:
toString
in 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:
until
in interfacejava.time.temporal.Temporal
-
with
public CalendarDate with(java.time.temporal.TemporalAdjuster adjuster)
- Specified by:
with
in interfacejava.time.temporal.Temporal
-
with
public CalendarDate with(java.time.temporal.TemporalField field, long newValue)
- Specified by:
with
in interfacejava.time.temporal.Temporal
-
-