是否可以将两种不同的dateTime格式解析为LocalDateTime或Java中的Instant?

问题描述 投票:0回答:1

对于给定的字符串,我们如何验证两种格式“ yyyy-MM-dd”和“ yyyy-MM-dd'T'HH:mm:SSX”,可以是两种格式中的任何一种,并将其转换为Instant还是LocalDateTime?

LocalDateTime dateTime;
    DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd[\'T\'HH:mm:SSX]");
    TemporalAccessor temporalAccessor = formatter.parseBest(now, LocalDateTime::from, LocalDate::from);
    if (temporalAccessor instanceof LocalDateTime) {
      dateTime = (LocalDateTime)temporalAccessor;
    } else {
      dateTime = ((LocalDate)temporalAccessor).atStartOfDay();
    }

使用上述格式时,它始终解析为LocalDate并切分时间部分。

date java-8 datetime-format
1个回答
0
投票

将格式更改为“ yyyy-MM-dd [\'T \'HH:mm:ssX]”已修复。

© www.soinside.com 2019 - 2024. All rights reserved.