将字符串转换成时间、日期时候会出现的错误
错误代码:
@Test
public void test1(){
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd hh:mm:ss");
TemporalAccessor temporalAccessor = dateTimeFormatter.parse("2023-07-04 06:09:19");
LocalDateTime localDateTime1 = LocalDateTime.from(temporalAccessor);
System.out.println(localDateTime1);
}
出现的错误:
java.time.DateTimeException: Unable to obtain LocalDateTime from TemporalAccessor: {NanoOfSecond=0, MicroOfSecond=0, SecondOfMinute=19, MilliOfSecond=0, HourOfAmPm=6, MinuteOfHour=9},ISO resolved to 2023-07-04 of type java.time.format.Parsed
错误原因:
因为时间格式中的小时 hh 采用12小时,反解析时需要区分上午还是下午,所以改成 "yyyy-MM-dd hh:mm:ss a"或者采用24小时制“yyyy-MM-dd HH:mm:ss”
其中‘a’表示上午或下午的标记