Package org.h2.util

Class TimeZoneProvider

java.lang.Object
org.h2.util.TimeZoneProvider

public abstract class TimeZoneProvider extends Object
Provides access to time zone API.
  • Field Details

    • UTC

      public static final TimeZoneProvider UTC
      The UTC time zone provider.
    • CACHE

      public static TimeZoneProvider[] CACHE
      A small cache for timezone providers.
  • Constructor Details

    • TimeZoneProvider

      public TimeZoneProvider()
  • Method Details

    • ofOffset

      public static TimeZoneProvider ofOffset(int offset)
      Returns the time zone provider with the specified offset.
      Parameters:
      offset - UTC offset in seconds
      Returns:
      the time zone provider with the specified offset
    • ofId

      public static TimeZoneProvider ofId(String id) throws RuntimeException
      Returns the time zone provider with the specified name.
      Parameters:
      id - the ID of the time zone
      Returns:
      the time zone provider with the specified name
      Throws:
      RuntimeException - if time zone with specified ID isn't known
    • getDefault

      public static TimeZoneProvider getDefault()
      Returns the time zone provider for the system default time zone.
      Returns:
      the time zone provider for the system default time zone
    • getTimeZoneOffsetUTC

      public abstract int getTimeZoneOffsetUTC(long epochSeconds)
      Calculates the time zone offset in seconds for the specified EPOCH seconds.
      Parameters:
      epochSeconds - seconds since EPOCH
      Returns:
      time zone offset in minutes
    • getTimeZoneOffsetLocal

      public abstract int getTimeZoneOffsetLocal(long dateValue, long timeNanos)
      Calculates the time zone offset in seconds for the specified date value and nanoseconds since midnight in local time.
      Parameters:
      dateValue - date value
      timeNanos - nanoseconds since midnight
      Returns:
      time zone offset in minutes
    • getEpochSecondsFromLocal

      public abstract long getEpochSecondsFromLocal(long dateValue, long timeNanos)
      Calculates the epoch seconds from local date and time.
      Parameters:
      dateValue - date value
      timeNanos - nanoseconds since midnight
      Returns:
      the epoch seconds value
    • getId

      public abstract String getId()
      Returns the ID of the time zone.
      Returns:
      the ID of the time zone
    • getShortId

      public abstract String getShortId(long epochSeconds)
      Get the standard time name or daylight saving time name of the time zone.
      Parameters:
      epochSeconds - seconds since EPOCH
      Returns:
      the standard time name or daylight saving time name of the time zone
    • hasFixedOffset

      public boolean hasFixedOffset()
      Returns whether this is a simple time zone provider with a fixed offset from UTC.
      Returns:
      whether this is a simple time zone provider with a fixed offset from UTC