Package org.h2.util

Class LegacyDateTimeUtils


  • public final class LegacyDateTimeUtils
    extends java.lang.Object
    Date and time utilities for Date, Time, and Timestamp classes.
    • Field Detail

      • PROLEPTIC_GREGORIAN_CHANGE

        public static final java.sql.Date PROLEPTIC_GREGORIAN_CHANGE
        Gregorian change date for a GregorianCalendar that represents a proleptic Gregorian calendar.
      • UTC

        public static final java.util.TimeZone UTC
        UTC time zone.
    • Constructor Detail

      • LegacyDateTimeUtils

        private LegacyDateTimeUtils()
    • 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 provider
        timeZone - time zone, or null for default
        date - 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 provider
        timeZone - time zone, or null for default
        time - 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 provider
        timeZone - time zone, or null for default
        timestamp - 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 provider
        ms - the milliseconds
        nanos - 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 provider
        timeZone - the target time zone
        value - 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 provider
        timeZone - the target time zone
        value - 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 provider
        timeZone - the target time zone
        value - 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 provider
        tz - the timezone of the parameters, or null for the default timezone
        dateValue - date value
        timeNanos - 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 provider
        ms - 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 session
        x - the value
        Returns:
        the value, or null if 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 class
        value - the value
        provider - the cast information provider
        Returns:
        an instance of the specified class, or null if 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 null if not supported