如何将字符串值转换为 Java 中的日期?
How to convert string values to dates in Java?
我正在尝试从访问 (MDB) 数据库转换一些日期值。
我明白了:'Tue May 17 08:29:00 BRT 2011'。
但我想要这个:'2011-05-17 08:29:00'.
我已经尝试使用 JAVA 8 new 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();
}
}
但我明白了
"Exception in thread "JavaFX Application Thread" java.time.format.DateTimeParseException: Text 'Tue May 17 08:29:00 BRT 2011' could not be parsed at index 0"
正如@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。
谢谢!!!
我正在尝试从访问 (MDB) 数据库转换一些日期值。
我明白了:'Tue May 17 08:29:00 BRT 2011'。 但我想要这个:'2011-05-17 08:29:00'.
我已经尝试使用 JAVA 8 new 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();
}
}
但我明白了
"Exception in thread "JavaFX Application Thread" java.time.format.DateTimeParseException: Text 'Tue May 17 08:29:00 BRT 2011' could not be parsed at index 0"
正如@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。
谢谢!!!