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:
Jens Schauder
2018-01-11 09:08:34 +01:00
committed by Oliver Gierke
parent af9b64ff00
commit 58b0cc9c0a
2 changed files with 36 additions and 0 deletions

View File

@@ -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> {