Skip to content

Instantly share code, notes, and snippets.

@CharlesLuxinger
Last active April 1, 2021 14:44
Show Gist options
  • Save CharlesLuxinger/8865957d586bb20c7a6b310749ab91d1 to your computer and use it in GitHub Desktop.
Save CharlesLuxinger/8865957d586bb20c7a6b310749ab91d1 to your computer and use it in GitHub Desktop.
OffsetDateTimeSerialize
import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.databind.SerializerProvider;
import com.fasterxml.jackson.databind.ser.std.StdSerializer;
import java.io.IOException;
import java.time.OffsetDateTime;
import java.time.format.DateTimeFormatter;
import java.time.format.DateTimeFormatterBuilder;
public class OffsetDateTimeSerialize extends StdSerializer<OffsetDateTime> {
protected OffsetDateTimeSerialize() {
super(OffsetDateTime.class);
}
@Override
public void serialize(
final OffsetDateTime value,
final JsonGenerator jsonGenerator,
final SerializerProvider provider) throws IOException {
if (value != null) {
DateTimeFormatter formatter = new DateTimeFormatterBuilder()
.append(DateTimeFormatter.ISO_LOCAL_DATE_TIME)
.optionalStart().appendOffset("+HHMM", "+0000").optionalEnd()
.toFormatter();
jsonGenerator.writeString(value.format(formatter));
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment