LocalDateTimeDeserializer.java 894 B

1234567891011121314151617181920212223242526272829
  1. package com.ydtech.utils;
  2. import com.fasterxml.jackson.core.JsonParser;
  3. import com.fasterxml.jackson.databind.DeserializationContext;
  4. import com.fasterxml.jackson.databind.JsonDeserializer;
  5. import lombok.Data;
  6. import java.io.IOException;
  7. import java.time.LocalDate;
  8. import java.time.LocalDateTime;
  9. import java.time.ZoneId;
  10. import java.time.format.DateTimeFormatter;
  11. /**
  12. *
  13. * LocalDateTime反序列化器
  14. *
  15. */
  16. @Data
  17. public class LocalDateTimeDeserializer extends JsonDeserializer<LocalDateTime> {
  18. @Override
  19. public LocalDateTime deserialize(JsonParser p, DeserializationContext ctxt) throws IOException {
  20. String dateStr = p.getValueAsString();
  21. DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
  22. LocalDate date = LocalDate.parse(dateStr, formatter);
  23. return date.atStartOfDay(ZoneId.systemDefault()).toLocalDateTime();
  24. }
  25. }