柯桥增值式服务
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

39 line
1.2KB

  1. package com.ningdatech.kqapi.common.converter;
  2. import org.springframework.core.convert.converter.Converter;
  3. import org.springframework.lang.NonNull;
  4. import java.time.LocalDateTime;
  5. import java.time.format.DateTimeFormatter;
  6. import java.util.LinkedHashMap;
  7. import java.util.Map;
  8. import static com.ningdatech.kqapi.common.util.NdDateUtils.*;
  9. /**
  10. * 解决入参为 Date类型
  11. *
  12. * @author WendyYang
  13. * @date 2019-04-30
  14. */
  15. public class String2LocalDateTimeConverter extends BaseDateConverter<LocalDateTime> implements Converter<String, LocalDateTime> {
  16. protected static final Map<String, String> FORMAT = new LinkedHashMap<>(5);
  17. static {
  18. FORMAT.put(DEFAULT_DATE_TIME_FORMAT, DEFAULT_DATE_TIME_FORMAT_MATCHES);
  19. FORMAT.put(SLASH_DATE_TIME_FORMAT, SLASH_DATE_TIME_FORMAT_MATCHES);
  20. FORMAT.put(DEFAULT_DATE_TIME_FORMAT_EN, DEFAULT_DATE_TIME_FORMAT_EN_MATCHES);
  21. }
  22. @Override
  23. protected Map<String, String> getFormat() {
  24. return FORMAT;
  25. }
  26. @Override
  27. public LocalDateTime convert(@NonNull String source) {
  28. return super.convert(source, (key) -> LocalDateTime.parse(source, DateTimeFormatter.ofPattern(key)));
  29. }
  30. }