Package org.h2.util
Class TimeZoneProvider
- java.lang.Object
-
- org.h2.util.TimeZoneProvider
-
- Direct Known Subclasses:
TimeZoneProvider.Simple,TimeZoneProvider.WithTimeZone
public abstract class TimeZoneProvider extends java.lang.ObjectProvides access to time zone API.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static classTimeZoneProvider.SimpleTime zone provider with offset.(package private) static classTimeZoneProvider.WithTimeZoneTime zone provider with time zone.
-
Field Summary
Fields Modifier and Type Field Description static TimeZoneProvider[]CACHEA small cache for timezone providers.private static intCACHE_SIZEThe number of cache elements (needs to be a power of 2).static TimeZoneProviderUTCThe UTC time zone provider.
-
Constructor Summary
Constructors Constructor Description TimeZoneProvider()
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description static TimeZoneProvidergetDefault()Returns the time zone provider for the system default time zone.abstract longgetEpochSecondsFromLocal(long dateValue, long timeNanos)Calculates the epoch seconds from local date and time.abstract java.lang.StringgetId()Returns the ID of the time zone.abstract java.lang.StringgetShortId(long epochSeconds)Get the standard time name or daylight saving time name of the time zone.abstract intgetTimeZoneOffsetLocal(long dateValue, long timeNanos)Calculates the time zone offset in seconds for the specified date value and nanoseconds since midnight in local time.abstract intgetTimeZoneOffsetUTC(long epochSeconds)Calculates the time zone offset in seconds for the specified EPOCH seconds.booleanhasFixedOffset()Returns whether this is a simple time zone provider with a fixed offset from UTC.static TimeZoneProviderofId(java.lang.String id)Returns the time zone provider with the specified name.static TimeZoneProviderofOffset(int offset)Returns the time zone provider with the specified offset.
-
-
-
Field Detail
-
UTC
public static final TimeZoneProvider UTC
The UTC time zone provider.
-
CACHE
public static TimeZoneProvider[] CACHE
A small cache for timezone providers.
-
CACHE_SIZE
private static final int CACHE_SIZE
The number of cache elements (needs to be a power of 2).- See Also:
- Constant Field Values
-
-
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.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:
java.lang.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 valuetimeNanos- 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 valuetimeNanos- 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
-
-