我正在尝试从访问(MDB)数据库转换一些日期值。
我得到的是:“ 2011年5月17日星期二08:29:00 BRT”。
但我要这个:“ 2011-05-17 08:29:00”。
我已经尝试使用JAVA 8新的DateTime类,但是没有用。
这是我尝试过的:
public class DateHelper {
LocalDateTime dateTime;
public DateHelper(String dateTime) {
this.convertStringToDateTimeDeclaration(dateTime);
}
protected void convertStringToDateTimeDeclaration(String dateTime){
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
this.dateTime = LocalDateTime.parse(dateTime, formatter);
}
public String getDateTime(){
return dateTime.toString();
}
}
但我明白了
“线程“ JavaFX应用程序线程”中的异常java.time.format.DateTimeParseException:无法在索引0处解析文本“ Tue May 17 Tue May 17 08:29:00 BRT 2011”
最佳答案
如@blm所示:
我只需要匹配这样的输入模式:
protected void convertStringToDateTimeDeclaration(String dateTime){
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("EEE MMM dd HH:mm:ss zzz yyyy").;
this.dateTime = LocalDateTime.parse(dateTime, formatter).withLocale(Locale.US);
}
编辑:
在LocalDateTime方法链的末尾添加了“ .withLocale(Locale.US)”,以避免DateTimeParseException。
谢谢!!!