我在 Java 中使用下面的代码并且工作完美!
SimpleDateFormat format = new SimpleDateFormat("E, dd MMM yyyy HH:mm:ss z");
Date date = format.parse("Sun, 11 May 2014 23:11:51 +0430");
但在 Android 中我遇到了异常!
java.text.ParseException: Unparseable date: "Sun, 11 May 2014 23:11:51 +0430" (at offset 0)
怎么了?!
最佳答案
问题是如果默认语言环境是英语,代码将正确执行,否则将抛出异常。您可以通过添加正确的区域设置来解决该问题。
//Locale locale = new Locale("en-US");
Locale locale = Locale.US;
SimpleDateFormat format = new SimpleDateFormat("E, dd MMM yyyy HH:mm:ss z", locale);
Date date = format.parse("Sun, 11 May 2014 23:11:51 +0430");
Android 设备可能有不同的语言设置。考虑使用常量 Locale,如注释中所述的 RC,在这种情况下,您不需要额外的变量,直接在构造函数中使用常量。
关于java - Java 和 Android 中的 SimpleDateFormat 有何不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27324527/