@Override public Object convert(Class destClass, Object srcObject) { OffsetDateTime offsetDateTime = convertToOffsetDateTime(srcObject); if (offsetDateTime != null) { if (OffsetTime.class.isAssignableFrom(destClass)) { return offsetDateTime.toOffsetTime(); } return offsetDateTime; } return super.convert(destClass, srcObject); }
/** * Get the ISO 8601 formatted representation of the given {@link OffsetDateTime}. * * @param timestamp the timestamp value; may not be null * @param adjuster the optional component that adjusts the local date value before obtaining the epoch day; may be null if no * adjustment is necessary * @return the ISO 8601 formatted string */ public static String toIsoString(OffsetDateTime timestamp, TemporalAdjuster adjuster) { if (adjuster != null) { timestamp = timestamp.with(adjuster); } return timestamp.toOffsetTime().format(FORMATTER); } /**
@Override public OffsetTime convert(Date in, Context context) throws Exception { if (in == null) return null; return in.toInstant().atZone(dateTimeZone).toOffsetDateTime().toOffsetTime(); } }
public OffsetTime time(LocalDate from) { if (from == null) { return null; } return from.atStartOfDay(ZoneOffset.UTC).toOffsetDateTime().toOffsetTime(); } public OffsetTime time(OffsetTime from) {
public OffsetTime time(LocalDate from) { if (from == null) { return null; } return from.atStartOfDay(ZoneOffset.UTC).toOffsetDateTime().toOffsetTime(); } public OffsetTime time(OffsetTime from) {
@Override public OffsetTime time(ZonedDateTime from) { if (from == null) { return null; } return from.toOffsetDateTime().toOffsetTime(); } public OffsetTime time(LocalDate from) {
public OffsetTime time(LocalDate from) { if (from == null) { return null; } return from.atStartOfDay(ZoneOffset.UTC).toOffsetDateTime().toOffsetTime(); } public OffsetTime time(OffsetTime from) {
@Override public OffsetTime time(ZonedDateTime from) { if (from == null) { return null; } return from.toOffsetDateTime().toOffsetTime(); } public OffsetTime time(LocalDate from) {
@Override public OffsetTime time(ZonedDateTime from) { if (from == null) { return null; } return from.toOffsetDateTime().toOffsetTime(); } public OffsetTime time(OffsetTime from) {
@Override public OffsetTime time(ZonedDateTime from) { if (from == null) { return null; } return from.toOffsetDateTime().toOffsetTime(); } public OffsetTime time(LocalDate from) {
@Override public OffsetTime convert(Date in, Context context) throws Exception { if (in == null) return null; return in.toInstant().atZone(dateTimeZone).toOffsetDateTime().toOffsetTime(); } }
@Override public OffsetTime fromNonNullValue(Time value) { return Instant.ofEpochMilli(value.getTime()).atOffset(javaZone).toOffsetTime(); }
@Override public OffsetTime time(ZonedDateTime from) { if (from == null) { return null; } return from.toOffsetDateTime().toOffsetTime(); } public OffsetTime time(OffsetTime from) {
@Override public OffsetTime time(ZonedDateTime from) { if (from == null) { return null; } return from.toOffsetDateTime().toOffsetTime(); } public OffsetTime time(LocalDate from) {
public OffsetTime time(LocalDate from) { if (from == null) { return null; } return from.atStartOfDay(ZoneOffset.UTC).toOffsetDateTime().toOffsetTime(); } public OffsetTime time(OffsetTime from) {
@Override public Object convert(Class destClass, Object srcObject) { OffsetDateTime offsetDateTime = convertToOffsetDateTime(srcObject); if (offsetDateTime != null) { if (OffsetTime.class.isAssignableFrom(destClass)) { return offsetDateTime.toOffsetTime(); } return offsetDateTime; } return super.convert(destClass, srcObject); }
@Override public OffsetTime fromNonNullValue(Time value) { ZoneOffset currentDatabaseZone = databaseZone == null ? getDefault() : databaseZone; // int adjustment = TimeZone.getDefault().getOffset(value.getTime()) - (currentDatabaseZone.getRules().getOffset(LocalDateTime.now()).getTotalSeconds() * MILLIS_IN_SECOND); OffsetDateTime dateTime = Instant.ofEpochMilli(value.getTime()).atOffset(currentDatabaseZone); return dateTime.toOffsetTime().withOffsetSameInstant(javaZone); }
@Override public OffsetTime fromNonNullValue(Timestamp value) { ZoneId currentJavaZone = javaZone == null ? getDefaultZoneId() : javaZone; ZonedDateTime zonedDateTime = value.toInstant().with(ChronoField.NANO_OF_SECOND, value.getNanos()).atZone(currentJavaZone); OffsetDateTime dateTime = zonedDateTime.toOffsetDateTime(); OffsetTime time = dateTime.toOffsetTime(); return time; }
@Override public ZonedDateTime time(ZonedDateTime from) { if (from == null) { return null; } OffsetTime offsetTime = from.toOffsetDateTime().toOffsetTime(); return offsetTime.atDate(LocalDate.MIN).toZonedDateTime(); }
@Override public OffsetTime fromNonNullValue(Timestamp value) { ZoneId currentDatabaseZone = getDatabaseZone() == null ? getDefaultZoneOffset() : getDatabaseZone(); ZoneId currentJavaZone = javaZone == null ? getDefaultZoneOffset() : javaZone; OffsetDateTime dateTime = OffsetDateTime.ofInstant(Instant.ofEpochMilli(value.getTime()), currentDatabaseZone); dateTime = dateTime.with(ChronoField.NANO_OF_SECOND, value.getNanos()).atZoneSameInstant(currentJavaZone).toOffsetDateTime(); OffsetTime time = dateTime.toOffsetTime(); return time; }