Package org.h2.util

Class TimeZoneProvider.WithTimeZone

    • Field Detail

      • SECONDS_PER_PERIOD

        static final long SECONDS_PER_PERIOD
        Number of seconds in 400 years.
        See Also:
        Constant Field Values
      • SECONDS_PER_YEAR

        static final long SECONDS_PER_YEAR
        Number of seconds per year.
        See Also:
        Constant Field Values
      • TIME_ZONE_FORMATTER

        private static volatile java.time.format.DateTimeFormatter TIME_ZONE_FORMATTER
      • zoneId

        private final java.time.ZoneId zoneId
    • Constructor Detail

      • WithTimeZone

        WithTimeZone​(java.time.ZoneId timeZone)
    • Method Detail

      • hashCode

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

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

        public int getTimeZoneOffsetUTC​(long epochSeconds)
        Description copied from class: TimeZoneProvider
        Calculates the time zone offset in seconds for the specified EPOCH seconds.
        Specified by:
        getTimeZoneOffsetUTC in class TimeZoneProvider
        Parameters:
        epochSeconds - seconds since EPOCH
        Returns:
        time zone offset in minutes
      • getTimeZoneOffsetLocal

        public int getTimeZoneOffsetLocal​(long dateValue,
                                          long timeNanos)
        Description copied from class: TimeZoneProvider
        Calculates the time zone offset in seconds for the specified date value and nanoseconds since midnight in local time.
        Specified by:
        getTimeZoneOffsetLocal in class TimeZoneProvider
        Parameters:
        dateValue - date value
        timeNanos - nanoseconds since midnight
        Returns:
        time zone offset in minutes
      • getEpochSecondsFromLocal

        public long getEpochSecondsFromLocal​(long dateValue,
                                             long timeNanos)
        Description copied from class: TimeZoneProvider
        Calculates the epoch seconds from local date and time.
        Specified by:
        getEpochSecondsFromLocal in class TimeZoneProvider
        Parameters:
        dateValue - date value
        timeNanos - nanoseconds since midnight
        Returns:
        the epoch seconds value
      • getId

        public java.lang.String getId()
        Description copied from class: TimeZoneProvider
        Returns the ID of the time zone.
        Specified by:
        getId in class TimeZoneProvider
        Returns:
        the ID of the time zone
      • getShortId

        public java.lang.String getShortId​(long epochSeconds)
        Description copied from class: TimeZoneProvider
        Get the standard time name or daylight saving time name of the time zone.
        Specified by:
        getShortId in class TimeZoneProvider
        Parameters:
        epochSeconds - seconds since EPOCH
        Returns:
        the standard time name or daylight saving time name of the time zone
      • yearForCalendar

        private static int yearForCalendar​(int year)
        Returns a year within the range -999,999,999..999,999,999 for the given year. Too large and too small years are replaced with years within the range using the 400 years period of the Gregorian calendar. Because we need them only to calculate a time zone offset, it's safe to normalize them to such range.
        Parameters:
        year - the year
        Returns:
        the specified year or the replacement year within the range
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object