Package org.h2.util
Class LegacyDateTimeUtils
- java.lang.Object
-
- org.h2.util.LegacyDateTimeUtils
-
public final class LegacyDateTimeUtils extends java.lang.ObjectDate and time utilities forDate,Time, andTimestampclasses.
-
-
Field Summary
Fields Modifier and Type Field Description static java.sql.DatePROLEPTIC_GREGORIAN_CHANGEGregorian change date for aGregorianCalendarthat represents a proleptic Gregorian calendar.static java.util.TimeZoneUTCUTC time zone.
-
Constructor Summary
Constructors Modifier Constructor Description privateLegacyDateTimeUtils()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static longdateValueFromLocalMillis(long ms)Convert a local datetime in millis to an encoded date.static ValueDatefromDate(CastDataProvider provider, java.util.TimeZone timeZone, java.sql.Date date)Get or create a date value for the given date.static ValueTimefromTime(CastDataProvider provider, java.util.TimeZone timeZone, java.sql.Time time)Get or create a time value for the given time.static ValueTimestampfromTimestamp(CastDataProvider provider, long ms, int nanos)Get or create a timestamp value for the given date/time in millis.static ValueTimestampfromTimestamp(CastDataProvider provider, java.util.TimeZone timeZone, java.sql.Timestamp timestamp)Get or create a timestamp value for the given timestamp.static longgetMillis(CastDataProvider provider, java.util.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 intgetTimeZoneOffsetMillis(CastDataProvider provider, long ms)Returns local time zone offset for a specified timestamp.static TypeInfolegacyClassToType(java.lang.Class<?> clazz)Get the type information for the given legacy Java class.static ValuelegacyObjectToValue(CastDataProvider session, java.lang.Object x)Convert a legacy Java object to a value.static longnanosFromLocalMillis(long ms)Convert a time in milliseconds in local time to the nanoseconds since midnight.private static ValueTimestamptimestampFromLocalMillis(long ms, int nanos)static java.sql.DatetoDate(CastDataProvider provider, java.util.TimeZone timeZone, Value value)Get the date value converted to the specified time zone.static java.sql.TimetoTime(CastDataProvider provider, java.util.TimeZone timeZone, Value value)Get the time value converted to the specified time zone.static java.sql.TimestamptoTimestamp(CastDataProvider provider, java.util.TimeZone timeZone, Value value)Get the timestamp value converted to the specified time zone.static <T> TvalueToLegacyType(java.lang.Class<T> type, Value value, CastDataProvider provider)Converts the specified value to an object of the specified legacy type.
-
-
-
Method Detail
-
fromDate
public static ValueDate fromDate(CastDataProvider provider, java.util.TimeZone timeZone, java.sql.Date date)
Get or create a date value for the given date.- Parameters:
provider- the cast information providertimeZone- time zone, ornullfor defaultdate- the date- Returns:
- the value
-
fromTime
public static ValueTime fromTime(CastDataProvider provider, java.util.TimeZone timeZone, java.sql.Time time)
Get or create a time value for the given time.- Parameters:
provider- the cast information providertimeZone- time zone, ornullfor defaulttime- the time- Returns:
- the value
-
fromTimestamp
public static ValueTimestamp fromTimestamp(CastDataProvider provider, java.util.TimeZone timeZone, java.sql.Timestamp timestamp)
Get or create a timestamp value for the given timestamp.- Parameters:
provider- the cast information providertimeZone- time zone, ornullfor defaulttimestamp- the timestamp- Returns:
- the value
-
fromTimestamp
public static ValueTimestamp fromTimestamp(CastDataProvider provider, long ms, int nanos)
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
private static ValueTimestamp timestampFromLocalMillis(long ms, int nanos)
-
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
public static java.sql.Date toDate(CastDataProvider provider, java.util.TimeZone timeZone, Value value)
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
public static java.sql.Time toTime(CastDataProvider provider, java.util.TimeZone timeZone, Value value)
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
public static java.sql.Timestamp toTimestamp(CastDataProvider provider, java.util.TimeZone timeZone, Value value)
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, java.util.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
public static int getTimeZoneOffsetMillis(CastDataProvider provider, long ms)
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
public static Value legacyObjectToValue(CastDataProvider session, java.lang.Object x)
Convert a legacy Java object to a value.- Parameters:
session- the sessionx- the value- Returns:
- the value, or
nullif not supported
-
valueToLegacyType
public static <T> T valueToLegacyType(java.lang.Class<T> type, Value value, CastDataProvider provider)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
nullif not supported
-
legacyClassToType
public static TypeInfo legacyClassToType(java.lang.Class<?> clazz)
Get the type information for the given legacy Java class.- Parameters:
clazz- the Java class- Returns:
- the value type, or
nullif not supported
-
-