无法解析的日期错误

时间:2016-03-11 12:11:59

标签: java android parseexception

我有这个

  

java.text.ParseException:Unparseable date:“Thu,2016年4月21日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);

当Locale为ROOT时,Android会以某种方式出错,当ENGLISH时,一切正常。

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:2)

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