package com.astamuse.asta4d.data.convertor; import java.time.DateTimeException; import java.time.LocalDate; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.time.temporal.TemporalAccessor; public class String2Java8LocalDateTime extends AbstractString2Java8DateConvertor<LocalDateTime> implements DataValueConvertor<String, LocalDateTime> { protected DateTimeFormatter[] availableFormatters() { return String2Java8Instant.dtfs; } @Override protected LocalDateTime convert2Target(DateTimeFormatter formatter, String obj) { TemporalAccessor temporal = formatter.parse(obj); try { return LocalDateTime.from(temporal); } catch (DateTimeException ex) { // a local date only string return LocalDate.from(temporal).atStartOfDay(); } } }