Поддерживает ли анализ Univocity преобразование типов даты и времени в java 8 (LocalDateTime)? - PullRequest
1 голос
/ 23 апреля 2019
@Parsed(field="ABC")
@Format(formats="yyyy-MM-dd HH:mm:ss.SSSSSSSSS")
private LocalDateTime abcDateTime;

Поддерживается ли выше при разборе Univocity? используя версию 2.8.1

1 Ответ

1 голос
/ 23 апреля 2019

Univocity-парсеры все еще построены на Java 6. LocalDate не поддерживается напрямую из коробки, но может обеспечить преобразование самостоятельно.Что-то вроде:

public class LocalDateFormatter implements  Conversion<String, LocalDate> {

    private DateTimeFormatter formatter;

    public LocalDateFormatter(String... args) {
        String pattern = "dd MM yyyy";
        if(args.length > 0){
            pattern = args[0];
        }
        this.formatter = DateTimeFormatter.ofPattern(pattern);
    }

    @Override
    public LocalDate execute(String input) {
        return LocalDate.parse(input, formatter);
    }

    @Override
    public String revert(LocalDate input) {
        return formatter.format(input);
    }
}

Затем аннотируйте свои поля с помощью @Convert и укажите класс конверсии: "

@Parsed(field = "C")
@Convert(conversionClass = LocalDateFormatter.class, args = "yyyy-MM-dd HH:mm:ss.SSSSSSSSS")
private LocalDate abcDateTime;

Следующая версия (3.0.0) скоро появится с поддержкойэто и многое другое.

Надеюсь, это поможет.

...