问题描述
缺少python --version
的秒(00)
LocalDateTime.parse
日志
LocalTime time = LocalTime.NOON;
DateTimeFormatter formatTime = DateTimeFormatter.ofPattern("HH:mm:ss");
String value ="20200810" + time.format(formatTime);
LocalDateTime localDateTime = LocalDateTime.parse(value,DateTimeFormatter.ofPattern("yyyyMMddHH:mm:ss"));
我也尝试将=========value========== 2020081012:00:00
===localDateTime===2020-08-10T**12:00**
更改为LocalTime.NOON
,但结果仍然相同。
解决方法
将以下行写入日志:
localDateTime.format(DateTimeFormatter.ISO_LOCAL_DATE_TIME)
上面的行返回根据DateTimeFormatter.ISO_LOCAL_DATE_TIME
的字符串。
您还可以根据需要指定自定义模式,例如
localDateTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))
或
localDateTime.format(DateTimeFormatter.ofPattern("yyyyMMddHH:mm:ss"))
如果直接打印localDateTime
,它将打印toString
的{{1}}方法返回的字符串。
请注意,由于时间LocalDateTime
是second
,因此12:00:00
的默认00
实现会忽略toString
部分。
供参考,以下是LocalDateTime
的{{1}}实现:
second
,并在toString()
的{{1}}实现下方给出:
LocalDateTime
如您所见,@Override
public String toString() {
return date.toString() + 'T' + time.toString();
}
和toString()
部分仅在其值大于LocalTime
时才包括在内。