DateTimeFormatter nach LocalDateTime, wenn dd.MM.yyyy oder dd.MM.yyyy mm:hh

beta20

Top Contributor
Hallo,

ich bekomme von einem Output ein String im Format: dd.MM.yyyy, allerdings ist das dynamisch und ich könnte es auch mit Uhrzeit bekommen.
Wie schaffe ich es immer nach LocalDateTime zu konvertieren, egal, ob dd.MM.yyyy oder dd.MM.yyyy mm:hh etc.?

Java:
String pattern = "dd.MM.yyyy";
DateTimeFormatter formatter = DateTimeFormatter.ofPattern(pattern);
return LocalDateTime.parse(value, formatter);
 
Ok, das sieht erst mal gut aus:

Java:
private LocalDateTime generateDate(String sDate, DateTimeFormatter format) {

        TemporalAccessor dt = format.parseBest(sDate, LocalDateTime::from, LocalDate::from, LocalTime::from,
                YearMonth::from);

        if (dt instanceof LocalDate) {
            return ((LocalDate) dt).atStartOfDay();

        } else if (dt instanceof LocalTime) {
            return ((LocalTime) dt).atDate(LocalDate.now());

        } else if (dt instanceof YearMonth) {
            return ((YearMonth) dt).atDay(1).atStartOfDay();

        } else {
            return LocalDateTime.from(dt);
        }
    }
 

Neue Themen


Zurück
Oben