Class DateTimeUtils


  • public final class DateTimeUtils
    extends Object
    Utilities for dealing with date/times
    • Field Detail

      • FORMAT_STRING_TIMESTAMP_WITH_MILLIS_AND_OFFSET

        public static final String FORMAT_STRING_TIMESTAMP_WITH_MILLIS_AND_OFFSET
        See Also:
        Constant Field Values
      • FORMAT_STRING_TIMESTAMP_WITH_MICROS_AND_OFFSET

        public static final String FORMAT_STRING_TIMESTAMP_WITH_MICROS_AND_OFFSET
        See Also:
        Constant Field Values
      • FORMAT_STRING_TIMESTAMP_WITH_NANOS_AND_OFFSET

        public static final String FORMAT_STRING_TIMESTAMP_WITH_NANOS_AND_OFFSET
        See Also:
        Constant Field Values
      • FORMAT_STRING_TIMESTAMP_WITH_MICROS_AND_OFFSET_NOZ

        public static final String FORMAT_STRING_TIMESTAMP_WITH_MICROS_AND_OFFSET_NOZ
        See Also:
        Constant Field Values
      • FORMAT_STRING_TIMESTAMP_WITH_NANOS_AND_OFFSET_NOZ

        public static final String FORMAT_STRING_TIMESTAMP_WITH_NANOS_AND_OFFSET_NOZ
        See Also:
        Constant Field Values
      • DATE_TIME_FORMATTER_DATE

        public static final DateTimeFormatter DATE_TIME_FORMATTER_DATE
      • DATE_TIME_FORMATTER_TIME_WITH_OFFSET

        public static final DateTimeFormatter DATE_TIME_FORMATTER_TIME_WITH_OFFSET
      • DATE_TIME_FORMATTER_TIME

        public static final DateTimeFormatter DATE_TIME_FORMATTER_TIME
      • DATE_TIME_FORMATTER_TIMESTAMP_WITH_MILLIS

        public static final DateTimeFormatter DATE_TIME_FORMATTER_TIMESTAMP_WITH_MILLIS
      • DATE_TIME_FORMATTER_TIMESTAMP_WITH_MICROS

        public static final DateTimeFormatter DATE_TIME_FORMATTER_TIMESTAMP_WITH_MICROS
      • DATE_TIME_FORMATTER_TIMESTAMP_WITH_NANOS

        public static final DateTimeFormatter DATE_TIME_FORMATTER_TIMESTAMP_WITH_NANOS
      • DATE_TIME_FORMATTER_TIMESTAMP_WITH_MILLIS_AND_OFFSET

        public static final DateTimeFormatter DATE_TIME_FORMATTER_TIMESTAMP_WITH_MILLIS_AND_OFFSET
      • DATE_TIME_FORMATTER_TIMESTAMP_WITH_MICROS_AND_OFFSET

        public static final DateTimeFormatter DATE_TIME_FORMATTER_TIMESTAMP_WITH_MICROS_AND_OFFSET
      • DATE_TIME_FORMATTER_TIMESTAMP_WITH_MICROS_AND_OFFSET_NOZ

        public static final DateTimeFormatter DATE_TIME_FORMATTER_TIMESTAMP_WITH_MICROS_AND_OFFSET_NOZ
      • DATE_TIME_FORMATTER_TIMESTAMP_WITH_NANOS_AND_OFFSET

        public static final DateTimeFormatter DATE_TIME_FORMATTER_TIMESTAMP_WITH_NANOS_AND_OFFSET
      • DATE_TIME_FORMATTER_TIMESTAMP_WITH_NANOS_AND_OFFSET_NOZ

        public static final DateTimeFormatter DATE_TIME_FORMATTER_TIMESTAMP_WITH_NANOS_AND_OFFSET_NOZ
      • DATE_TIME

        public static final DateTimeFormatter DATE_TIME
        Pattern used for parsing literal datetimes in HQL. Recognizes timestamps consisting of a date and time separated by either T or a space, and with an optional offset or time zone ID. Ideally we should accept both ISO and SQL standard zoned timestamp formats here.
      • OFFSET_DATE_TIME

        public static final DateTimeFormatter OFFSET_DATE_TIME
        Pattern used for parsing literal offset datetimes in HQL. Recognizes timestamps consisting of a date and time separated by either T or a space, and with a required offset. Ideally we should accept both ISO and SQL standard timestamp formats here.
    • Method Detail

      • appendAsTimestampWithNanos

        public static void appendAsTimestampWithNanos​(SqlAppender appender,
                                                      TemporalAccessor temporalAccessor,
                                                      boolean supportsOffset,
                                                      TimeZone jdbcTimeZone)
      • appendAsTimestampWithNanos

        public static void appendAsTimestampWithNanos​(SqlAppender appender,
                                                      TemporalAccessor temporalAccessor,
                                                      boolean supportsOffset,
                                                      TimeZone jdbcTimeZone,
                                                      boolean allowZforZeroOffset)
      • appendAsTimestampWithMicros

        public static void appendAsTimestampWithMicros​(SqlAppender appender,
                                                       TemporalAccessor temporalAccessor,
                                                       boolean supportsOffset,
                                                       TimeZone jdbcTimeZone)
      • appendAsTimestampWithMicros

        public static void appendAsTimestampWithMicros​(SqlAppender appender,
                                                       TemporalAccessor temporalAccessor,
                                                       boolean supportsOffset,
                                                       TimeZone jdbcTimeZone,
                                                       boolean allowZforZeroOffset)
      • appendAsTimestampWithMillis

        public static void appendAsTimestampWithMillis​(SqlAppender appender,
                                                       TemporalAccessor temporalAccessor,
                                                       boolean supportsOffset,
                                                       TimeZone jdbcTimeZone)
      • appendAsTimestampWithMillis

        public static void appendAsTimestampWithMillis​(SqlAppender appender,
                                                       Date date,
                                                       TimeZone jdbcTimeZone)
      • appendAsTimestampWithMicros

        public static void appendAsTimestampWithMicros​(SqlAppender appender,
                                                       Date date,
                                                       TimeZone jdbcTimeZone)
      • appendAsTimestampWithNanos

        public static void appendAsTimestampWithNanos​(SqlAppender appender,
                                                      Date date,
                                                      TimeZone jdbcTimeZone)
      • appendAsDate

        public static void appendAsDate​(SqlAppender appender,
                                        Date date)
      • appendAsLocalTime

        public static void appendAsLocalTime​(SqlAppender appender,
                                             Date date)
      • appendAsTimestampWithMillis

        public static void appendAsTimestampWithMillis​(SqlAppender appender,
                                                       Calendar calendar,
                                                       TimeZone jdbcTimeZone)
      • appendAsLocalTime

        public static void appendAsLocalTime​(SqlAppender appender,
                                             Calendar calendar)
      • adjustToDefaultPrecision

        public static <T extends Temporal> T adjustToDefaultPrecision​(T temporal,
                                                                      Dialect d)
        Do the same conversion that databases do when they encounter a timestamp with a higher precision than what is supported by a column, which is to round the excess fractions.
      • adjustToPrecision

        public static <T extends Temporal> T adjustToPrecision​(T temporal,
                                                               int precision,
                                                               Dialect d)
      • truncateToPrecision

        public static <T extends Temporal> T truncateToPrecision​(T temporal,
                                                                 int precision)
      • roundToDefaultPrecision

        @Deprecated(forRemoval=true,
                    since="6.6.1")
        public static <T extends Temporal> T roundToDefaultPrecision​(T temporal,
                                                                     Dialect d)
        Deprecated, for removal: This API element is subject to removal in a future version.
        Do the same conversion that databases do when they encounter a timestamp with a higher precision than what is supported by a column, which is to round the excess fractions.
      • roundToSecondPrecision

        public static <T extends Temporal> T roundToSecondPrecision​(T temporal,
                                                                    int precision)
      • roundToPrecision

        public static long roundToPrecision​(int nano,
                                            int precision)