Package org.h2.util
Class LegacyDateTimeUtils
java.lang.Object
org.h2.util.LegacyDateTimeUtils
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final Date
Gregorian change date for aGregorianCalendar
that represents a proleptic Gregorian calendar.static final TimeZone
UTC time zone. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic long
dateValueFromLocalMillis
(long ms) Convert a local datetime in millis to an encoded date.static ValueDate
fromDate
(CastDataProvider provider, TimeZone timeZone, Date date) Get or create a date value for the given date.static ValueTime
fromTime
(CastDataProvider provider, TimeZone timeZone, Time time) Get or create a time value for the given time.static ValueTimestamp
fromTimestamp
(CastDataProvider provider, long ms, int nanos) Get or create a timestamp value for the given date/time in millis.static ValueTimestamp
fromTimestamp
(CastDataProvider provider, TimeZone timeZone, Timestamp timestamp) Get or create a timestamp value for the given timestamp.static long
getMillis
(CastDataProvider provider, TimeZone tz, long dateValue, long timeNanos) Calculate the milliseconds since 1970-01-01 (UTC) for the given date and time (in the specified timezone).static int
getTimeZoneOffsetMillis
(CastDataProvider provider, long ms) Returns local time zone offset for a specified timestamp.static TypeInfo
legacyClassToType
(Class<?> clazz) Get the type information for the given legacy Java class.static Value
legacyObjectToValue
(CastDataProvider session, Object x) Convert a legacy Java object to a value.static long
nanosFromLocalMillis
(long ms) Convert a time in milliseconds in local time to the nanoseconds since midnight.private static ValueTimestamp
timestampFromLocalMillis
(long ms, int nanos) static Date
toDate
(CastDataProvider provider, TimeZone timeZone, Value value) Get the date value converted to the specified time zone.static Time
toTime
(CastDataProvider provider, TimeZone timeZone, Value value) Get the time value converted to the specified time zone.static Timestamp
toTimestamp
(CastDataProvider provider, TimeZone timeZone, Value value) Get the timestamp value converted to the specified time zone.static <T> T
valueToLegacyType
(Class<T> type, Value value, CastDataProvider provider) Converts the specified value to an object of the specified legacy type.
-
Field Details
-
PROLEPTIC_GREGORIAN_CHANGE
Gregorian change date for aGregorianCalendar
that represents a proleptic Gregorian calendar. -
UTC
UTC time zone.
-
-
Constructor Details
-
LegacyDateTimeUtils
private LegacyDateTimeUtils()
-
-
Method Details
-
fromDate
Get or create a date value for the given date.- Parameters:
provider
- the cast information providertimeZone
- time zone, ornull
for defaultdate
- the date- Returns:
- the value
-
fromTime
Get or create a time value for the given time.- Parameters:
provider
- the cast information providertimeZone
- time zone, ornull
for defaulttime
- the time- Returns:
- the value
-
fromTimestamp
public static ValueTimestamp fromTimestamp(CastDataProvider provider, TimeZone timeZone, Timestamp timestamp) Get or create a timestamp value for the given timestamp.- Parameters:
provider
- the cast information providertimeZone
- time zone, ornull
for defaulttimestamp
- the timestamp- Returns:
- the value
-
fromTimestamp
Get or create a timestamp value for the given date/time in millis.- Parameters:
provider
- the cast information providerms
- the millisecondsnanos
- the nanoseconds- Returns:
- the value
-
timestampFromLocalMillis
-
dateValueFromLocalMillis
public static long dateValueFromLocalMillis(long ms) Convert a local datetime in millis to an encoded date.- Parameters:
ms
- the milliseconds- Returns:
- the date value
-
nanosFromLocalMillis
public static long nanosFromLocalMillis(long ms) Convert a time in milliseconds in local time to the nanoseconds since midnight.- Parameters:
ms
- the milliseconds- Returns:
- the nanoseconds
-
toDate
Get the date value converted to the specified time zone.- Parameters:
provider
- the cast information providertimeZone
- the target time zonevalue
- the value to convert- Returns:
- the date
-
toTime
Get the time value converted to the specified time zone.- Parameters:
provider
- the cast information providertimeZone
- the target time zonevalue
- the value to convert- Returns:
- the time
-
toTimestamp
Get the timestamp value converted to the specified time zone.- Parameters:
provider
- the cast information providertimeZone
- the target time zonevalue
- the value to convert- Returns:
- the timestamp
-
getMillis
public static long getMillis(CastDataProvider provider, TimeZone tz, long dateValue, long timeNanos) Calculate the milliseconds since 1970-01-01 (UTC) for the given date and time (in the specified timezone).- Parameters:
provider
- the cast information providertz
- the timezone of the parameters, or null for the default timezonedateValue
- date valuetimeNanos
- nanoseconds since midnight- Returns:
- the number of milliseconds (UTC)
-
getTimeZoneOffsetMillis
Returns local time zone offset for a specified timestamp.- Parameters:
provider
- the cast information providerms
- milliseconds since Epoch in UTC- Returns:
- local time zone offset
-
legacyObjectToValue
Convert a legacy Java object to a value.- Parameters:
session
- the sessionx
- the value- Returns:
- the value, or
null
if not supported
-
valueToLegacyType
Converts the specified value to an object of the specified legacy type.- Type Parameters:
T
- the type- Parameters:
type
- the classvalue
- the valueprovider
- the cast information provider- Returns:
- an instance of the specified class, or
null
if not supported
-
legacyClassToType
Get the type information for the given legacy Java class.- Parameters:
clazz
- the Java class- Returns:
- the value type, or
null
if not supported
-