public class LocalDateTimeUtils extends Object
This class is implemented using reflection so that it compiles on Java 7 as well.
Custom conversion methods between H2 internal values and JSR-310 classes are used in most cases without intermediate conversions to java.sql classes. Direct conversion is simpler, faster, and it does not inherit limitations and issues from java.sql classes and conversion methods provided by JDK.
The only one exclusion is a conversion between Timestamp
and
Instant.
Once the driver requires Java 8 and Android API 26 all the reflection can be removed.
Modifier and Type | Field and Description |
---|---|
static Class<?> |
INSTANT
Class<java.time.Instant> or null . |
static Class<?> |
LOCAL_DATE
Class<java.time.LocalDate> or null . |
static Class<?> |
LOCAL_DATE_TIME
Class<java.time.LocalDateTime> or null . |
static Class<?> |
LOCAL_TIME
Class<java.time.LocalTime> or null . |
static Class<?> |
OFFSET_DATE_TIME
Class<java.time.OffsetDateTime> or null . |
Modifier and Type | Method and Description |
---|---|
static Value |
instantToValue(Object instant)
Converts a Instant to a Value.
|
static boolean |
isJava8DateApiPresent()
Checks if the Java 8 Date and Time API is present.
|
static Value |
localDateTimeToValue(Object localDateTime)
Converts a LocalDateTime to a Value.
|
static Value |
localDateToDateValue(Object localDate)
Converts a LocalDate to a Value.
|
static Value |
localTimeToTimeValue(Object localTime)
Converts a LocalTime to a Value.
|
static Value |
offsetDateTimeToValue(Object offsetDateTime)
Converts a OffsetDateTime to a Value.
|
static Object |
parseLocalDate(CharSequence text)
Parses an ISO date string into a java.time.LocalDate.
|
static Object |
parseLocalDateTime(CharSequence text)
Parses an ISO date string into a java.time.LocalDateTime.
|
static Object |
parseLocalTime(CharSequence text)
Parses an ISO time string into a java.time.LocalTime.
|
static Object |
parseOffsetDateTime(CharSequence text)
Parses an ISO date string into a java.time.OffsetDateTime.
|
static Object |
valueToInstant(Value value)
Converts a value to a Instant.
|
static Object |
valueToLocalDate(Value value)
Converts a value to a LocalDate.
|
static Object |
valueToLocalDateTime(Value value)
Converts a value to a LocalDateTime.
|
static Object |
valueToLocalTime(Value value)
Converts a value to a LocalTime.
|
static Object |
valueToOffsetDateTime(Value value)
Converts a value to a OffsetDateTime.
|
public static final Class<?> LOCAL_DATE
Class<java.time.LocalDate>
or null
.public static final Class<?> LOCAL_TIME
Class<java.time.LocalTime>
or null
.public static final Class<?> LOCAL_DATE_TIME
Class<java.time.LocalDateTime>
or null
.public static final Class<?> INSTANT
Class<java.time.Instant>
or null
.public static final Class<?> OFFSET_DATE_TIME
Class<java.time.OffsetDateTime>
or null
.public static boolean isJava8DateApiPresent()
This is the case on Java 8 and later and not the case on Java 7. Versions older than Java 7 are not supported.
public static Object parseLocalDate(CharSequence text)
text
- the ISO date stringpublic static Object parseLocalTime(CharSequence text)
text
- the ISO time stringpublic static Object parseLocalDateTime(CharSequence text)
text
- the ISO date stringpublic static Object parseOffsetDateTime(CharSequence text)
text
- the ISO date stringpublic static Object valueToLocalDate(Value value)
This method should only called from Java 8 or later.
value
- the value to convertpublic static Object valueToLocalTime(Value value)
This method should only called from Java 8 or later.
value
- the value to convertpublic static Object valueToLocalDateTime(Value value)
This method should only called from Java 8 or later.
value
- the value to convertpublic static Object valueToInstant(Value value)
This method should only called from Java 8 or later.
value
- the value to convertpublic static Object valueToOffsetDateTime(Value value)
This method should only called from Java 8 or later.
value
- the value to convertpublic static Value localDateToDateValue(Object localDate)
localDate
- the LocalDate to convert, not null
public static Value localTimeToTimeValue(Object localTime)
localTime
- the LocalTime to convert, not null
public static Value localDateTimeToValue(Object localDateTime)
localDateTime
- the LocalDateTime to convert, not null
public static Value instantToValue(Object instant)
instant
- the Instant to convert, not null
Copyright © 2020 JBoss by Red Hat. All rights reserved.