Tôi gặp sự cố khi chuyển đổi ngày thực sự không tồn tại bằng cách sử dụng chú thích @DateTimeFormat
.@DateTimeFormat với lỗi tiết kiệm ánh sáng ban ngày khi chuyển đổi
Ví dụ, khi tôi thiết lập ngày 15/10/2017, với chú thích trong thực thể của tôi là như sau:
@Column(nullable = false)
@NotNull
@DateTimeFormat(pattern = "dd/MM/yyyy")
private Date dataVisita;
tôi nhận được lỗi:
Failed To Convert Property Value Of Type Java.Lang.String To Required Type Java.Util.Date For Property DataVisita;
Nested Exception Is Org.Springframework.Core.Convert.ConversionFailedException:
Failed To Convert From Type Java.Lang.String To Type @Javax.Persistence.Column @Javax.Validation.Constraints.NotNull @Org.Springframework.Format.Annotation.DateTimeFormat Java.Util.Date For Value 15/10/2017;
Nested Exception Is Java.Lang.IllegalArgumentException:
Cannot Parse "15/10/2017": Illegal Instant Due To Time Zone Offset Transition (America/Sao_Paulo)
Tôi hiểu rằng lỗi cho tôi biết rằng ngày 15/10/2017 00:00:00
không thực sự tồn tại, nhưng tôi muốn chuyển đổi thành 15/10/2017 01:00:00
, bỏ qua theo cách này vấn đề và tìm ngày phóng viên.
Có cách nào để tôi ghi đè chú thích @DateTimeFormat
hoặc cách để chỉ định trình định dạng được khoan dung không?
'Ý nghĩa của những gì bạn nói và nói ý của bạn' Bạn hiện đang cố gắng đặt ngày vào một đối tượng đại diện cho ngày và giờ. Bạn có thể sử dụng LocalDate hoặc bạn bị mắc kẹt với Ngày? – mpkorstanje
Bạn có thể tạo trình tùy chỉnh deserializer. AFAIR nó sử dụng Jackson dưới mui xe. Chú thích 'JsonDeserialize' sẽ giúp ích. [Ví dụ về Jackson-Deserialization.] (Http://www.baeldung.com/jackson-deserialization) –
Cố gắng sử dụng '@DateTimeFormat (iso = ISO.DATE_TIME)', nó sẽ không bỏ qua thời gian trong chuỗi –