Class 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
    • Field Detail

      • millis

        public final long millis
        An "instant" with ms precision. Equivalent to what is returned by Instant.toEpochMilli() and/or System.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)
      • 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 interface java.lang.Comparable<CalendarDate>
      • equals

        public boolean equals​(java.lang.Object obj)
        Overrides:
        equals in class java.lang.Object
      • getLong

        public long getLong​(java.time.temporal.TemporalField field)
        Specified by:
        getLong in interface java.time.temporal.TemporalAccessor
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • isSupported

        public boolean isSupported​(java.time.temporal.TemporalField field)
        Specified by:
        isSupported in interface java.time.temporal.TemporalAccessor
      • isSupported

        public boolean isSupported​(java.time.temporal.TemporalUnit unit)
        Specified by:
        isSupported in interface java.time.temporal.Temporal
      • plus

        public java.time.temporal.Temporal plus​(long amountToAdd,
                                                java.time.temporal.TemporalUnit unit)
        Specified by:
        plus in interface java.time.temporal.Temporal
      • 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 class java.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 interface java.time.temporal.Temporal
      • with

        public CalendarDate with​(java.time.temporal.TemporalAdjuster adjuster)
        Specified by:
        with in interface java.time.temporal.Temporal
      • with

        public CalendarDate with​(java.time.temporal.TemporalField field,
                                 long newValue)
        Specified by:
        with in interface java.time.temporal.Temporal