如何在Java中将字符串值转换为日期



我正试图从访问(MDB)数据库转换一些日期值。

我得到这个:'Tue May 17 08:29:00 BRT 2011'。但是我想要这个:'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: 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。

谢谢! !

相关内容

  • 没有找到相关文章

最新更新