DATACMNS-1243 - Add converters from LocalDateTime to Instant and back.
This allows usage of Instant for AuditAware. Original pull request: #268.
This commit is contained in:
committed by
Oliver Gierke
parent
af9b64ff00
commit
58b0cc9c0a
@@ -26,6 +26,7 @@ import java.time.LocalDateTime;
|
||||
import java.time.LocalTime;
|
||||
import java.time.Period;
|
||||
import java.time.ZoneId;
|
||||
import java.time.ZoneOffset;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collection;
|
||||
@@ -70,6 +71,8 @@ public abstract class Jsr310Converters {
|
||||
converters.add(LocalTimeToDateConverter.INSTANCE);
|
||||
converters.add(DateToInstantConverter.INSTANCE);
|
||||
converters.add(InstantToDateConverter.INSTANCE);
|
||||
converters.add(LocalDateTimeToInstantConverter.INSTANCE);
|
||||
converters.add(InstantToLocalDateTimeConverter.INSTANCE);
|
||||
converters.add(ZoneIdToStringConverter.INSTANCE);
|
||||
converters.add(StringToZoneIdConverter.INSTANCE);
|
||||
converters.add(DurationToStringConverter.INSTANCE);
|
||||
@@ -178,6 +181,28 @@ public abstract class Jsr310Converters {
|
||||
}
|
||||
}
|
||||
|
||||
public static enum LocalDateTimeToInstantConverter implements Converter<LocalDateTime, Instant> {
|
||||
|
||||
INSTANCE;
|
||||
|
||||
@Nonnull
|
||||
@Override
|
||||
public Instant convert(LocalDateTime source) {
|
||||
return source.atZone(systemDefault()).toInstant();
|
||||
}
|
||||
}
|
||||
|
||||
public static enum InstantToLocalDateTimeConverter implements Converter<Instant, LocalDateTime> {
|
||||
|
||||
INSTANCE;
|
||||
|
||||
@Nonnull
|
||||
@Override
|
||||
public LocalDateTime convert(Instant source) {
|
||||
return LocalDateTime.ofInstant(source, systemDefault());
|
||||
}
|
||||
}
|
||||
|
||||
@WritingConverter
|
||||
public static enum ZoneIdToStringConverter implements Converter<ZoneId, String> {
|
||||
|
||||
|
||||
Reference in New Issue
Block a user