org.h2.util

## Class TimeZoneProvider

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

    public abstract class TimeZoneProvider
    extends java.lang.Object

Provides access to time zone API.

### Field Summary

Fields
`static TimeZoneProvider[]` `CACHE` A small cache for timezone providers.
`static TimeZoneProvider` `UTC` The UTC time zone provider.

### Constructor Summary

Constructors
Constructor and Description
`TimeZoneProvider()`

### Method Summary

Methods
`static TimeZoneProvider` `getDefault()` Returns the time zone provider for the system default time zone.
`abstract long` `getEpochSecondsFromLocal(long dateValue, long timeNanos)` Calculates the epoch seconds from local date and time.
`abstract java.lang.String` `getId()` Returns the ID of the time zone.
`abstract java.lang.String` `getShortId(long epochSeconds)` Get the standard time name or daylight saving time name of the time zone.
`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.
`abstract int` `getTimeZoneOffsetUTC(long epochSeconds)` Calculates the time zone offset in seconds for the specified EPOCH seconds.
`boolean` `hasFixedOffset()` Returns whether this is a simple time zone provider with a fixed offset from UTC.
`static TimeZoneProvider` `ofId(java.lang.String id)` Returns the time zone provider with the specified name.
`static TimeZoneProvider` `ofOffset(int offset)` Returns the time zone provider with the specified offset.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Field Detail

#### UTC

    public static final TimeZoneProvider UTC

The UTC time zone provider.

#### CACHE

    public static TimeZoneProvider[] CACHE

A small cache for timezone providers.

### Constructor Detail

#### TimeZoneProvider

    public TimeZoneProvider()

### Method Detail

#### 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(java.lang.String id)
                                 throws java.lang.IllegalArgumentException

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:
  `java.lang.IllegalArgumentException` - 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 java.lang.String getId()

Returns the ID of the time zone.

Returns:
  the ID of the time zone

#### getShortId

    public abstract java.lang.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