0

我有这种形式的日期字符串Thu Aug 02 00:00:00 GMT+00:00 2012

我尝试使用此方法在 Date 对象中解析这些字符串

public Date fromStringToDate(String data) {
        Date result;
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy MM dd HH:mm:ss");
        try {
            result = sdf.parse(data);
            return result;
        } catch (ParseException e) {
            e.printStackTrace();
            return null;
        }
    }

但不起作用,我收到此错误

java.text.ParseException: Unparseable date: "Thu Aug 02 00:00:00 GMT+00:00 2012"

我想问题是由错误引起的SimpleDateFormat,但我不知道修复它的正确语法。

4

2 回答 2

5

您需要将日期格式调整为给定的字符串:

EEE MMM dd HH:mm:ss Z yyyy

确保使用正确的占位符、区分大小写等。查看Date and Time Patterns

抱歉,我对“z”模式有误,“Z”是:

SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM dd HH:mm:ss Z yyyy", Locale.US);

看一下Locale.US,申请很重要,因为月份和日期都是英文的。

于 2012-07-16T19:12:18.840 回答
1

使用此日期格式:

SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM dd HH:mm:ss z yyyy")
于 2012-07-16T19:19:39.003 回答