-1

我有这个

java.text.ParseException:无法解析的日期:“Thu, 21 Apr 2016 18:00:00 +0000”(偏移量 26)

使用新的时SimpleDateFormat("E, dd MMMM yyyy hh:mm:ss a", Locale.ROOT);

为什么会这样?

编辑:

由于解析模式,这是正确的答案。

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

而且当语言环境是ROOT并且ENGLISH一切正常时,Android也会以某种方式给出错误。

4

2 回答 2

3

您使用了错误的格式。您应该使用EEE, dd MMM yyyy HH:mm:ss Z而不是E, dd MMMM yyyy hh:mm:ss a.

这是代码片段:

public static void main (String[] args) throws Exception
{
    String foo = "Thu, 21 Apr 2016 18:00:00 +0000";
    SimpleDateFormat f = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss Z", Locale.ROOT);
    System.out.println(f.parse(foo));
}

输出:

Thu Apr 21 18:00:00 GMT 2016
于 2016-03-11T12:13:26.093 回答
2

利用EEE, dd MMM yyyy HH:mm:ss Z

于 2016-03-11T12:14:31.437 回答