【发布时间】:2020-10-20 17:00:00
【问题描述】:
从 String 转换为 LocalDateTime 时发生 StringIndexOutOfBoundsException。
String date = "2020-10-20 04:51:54";
LocalDateTime dateTime = this.convertToLocalDate(date);
public LocalDateTime convertToLocalDate(String datStr) {
if ( datStr != null ) {
datStr = (String) datStr.subSequence(0, datStr.lastIndexOf("+"));
} else {
return LocalDateTime.now();
}
return LocalDateTime.parse(datStr, dateFormatter);
}
将 Indexof 设为 -1。
【问题讨论】:
-
您的
date中没有+,因此返回-1- docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/… -
您的期望是什么?在文档中检查 lastIndexOf 找不到时返回的内容
-
场景是我从 db 获取字符串,即他们正在将 Date 转换为 String。
标签: java spring-boot date java-8 localdatetime