最近我遇到了这个问题。但这种情况很少发生,有时我的程序运行顺利。什么是触发此异常?如何彻底解决这个问题:
代码:
63: DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss", Locale.US);
64: String strLocalDate = loginRecords.getLoginDate().toLocalDateTime().toString();
65: LocalDateTime lastLogin = LocalDateTime.parse(strLocalDate, formatter);
例外文字:
Exception in thread "Thread-5" java.time.format.DateTimeParseException: Text '2015-11-21T14:15' could not be parsed at index 16
at java.time.format.DateTimeFormatter.parseResolved0(Unknown Source)
at java.time.format.DateTimeFormatter.parse(Unknown Source)
at java.time.LocalDateTime.parse(Unknown Source)
at com.fesca.view.MainMenuFrame.<init>(MainMenuFrame.java:65)
at com.fesca.control.listener.CheckingRehabDateListener.run(CheckingRehabDateListener.java:287)
答案 0 :(得分:2)
线程“Thread-5”中的异常 java.time.format.DateTimeParseException:Text'2015-11-21T14:15'可以 不能在索引16处解析
更改
yyyy-MM-dd'T'HH:mm:ss
到
yyyy-MM-dd'T'HH:mm
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm", Locale.US);
由于您要格式化为分钟(2015-11-21T14:15
),因此仅包含秒数(ss
)
或添加秒部分。
答案 1 :(得分:0)
您有时会在错误生成日期 - 2015-11-21T14:15
中看到日期字符串中的ss。使用yyyy-MM-dd'T'HH:mm
代替yyyy-MM-dd'T'HH:mm:ss