Package org.h2.util

Class TimeZoneProvider.WithTimeZone

java.lang.Object
org.h2.util.TimeZoneProvider
org.h2.util.TimeZoneProvider.WithTimeZone
Enclosing class:
TimeZoneProvider

static final class TimeZoneProvider.WithTimeZone extends TimeZoneProvider
Time zone provider with time zone.
  • Field Details

    • SECONDS_PER_PERIOD

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

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

      private static volatile DateTimeFormatter TIME_ZONE_FORMATTER
    • zoneId

      private final ZoneId zoneId
  • Constructor Details

    • WithTimeZone

      WithTimeZone(ZoneId timeZone)
  • Method Details

    • hashCode

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

      public boolean equals(Object obj)
      Overrides:
      equals in class 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 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 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 String toString()
      Overrides:
      toString in class Object