无法解析的日期错误
Unparseable date error
我有这个
java.text.ParseException: Unparseable date: "Thu, 21 Apr 2016 18:00:00
+0000" (at offset 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);
而且 Android 以某种方式在区域设置为 ROOT
和 ENGLISH
时出现错误,一切正常。
您使用的格式有误。您应该使用 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
使用EEE, dd MMM yyyy HH:mm:ss Z
我有这个
java.text.ParseException: Unparseable date: "Thu, 21 Apr 2016 18:00:00 +0000" (at offset 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);
而且 Android 以某种方式在区域设置为 ROOT
和 ENGLISH
时出现错误,一切正常。
您使用的格式有误。您应该使用 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
使用EEE, dd MMM yyyy HH:mm:ss Z