JodaTime-IllegalArgumentException:无效格式:“ 2018年10月29日星期一15:17:19 +0000”

时间:2018-10-29 19:19:43

标签: java android jodatime illegalargumentexception

当它尝试解析日期时,我从单个设备接收到崩溃

class DateTimeUtils {
  public static DateTime toDateTime(String value) {
     return DateTime.parse(value, DateTimeFormat.forPattern("EEE, d MMM yyyy HH:mm:ss Z"));
  }
}

堆栈跟踪

Caused by java.lang.IllegalArgumentException: Invalid format: "Mon, 29 Oct 2018 15:17:19 +0000"
   at org.joda.time.format.DateTimeFormatter.parseDateTime(DateTimeFormatter.java:945)
   at org.joda.time.DateTime.parse(DateTime.java:160)
   at com.example.app.DateTimeUtils.toDateTime(DateTimeUtils.java:58)

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

通过将语言环境设置为与要解析的日期的语言环境相同(在本例中为US),解决了该问题。发生崩溃的设备与此不同。

DateTime.parse(value, DateTimeFormat.forPattern("EEE, d MMM yyyy HH:mm:ss Z").withLocale(Locale.US));