0

我一直在开发我的应用程序并使用模拟器和设备进行测试,Api 22 and 23但是当我在使用API 25Version 7.1 Nougat今天的设备上进行测试时,我突然遇到以下异常:

W/System.err: java.text.ParseException: Unparseable date: "2017-02-08 18:39:21+00"
W/System.err:     at java.text.DateFormat.parse(DateFormat.java:358)

我正在"2017-02-08 18:39:21+00"使用以下模式解析日期"yyyy-MM-dd HH:mm:ssZ",这一直运行良好,直到我在运行的模拟器中进行测试,API 25并且我还在Nexus 6P运行相同的版本上进行了尝试,我得到了相同的异常。

以下方法是发生异常的地方API 25。它在我正在测试的其他版本上运行良好。

private static final String SERVER_DATE_FORMAT = "yyyy-MM-dd HH:mm:ssZ";

public static Date javaDateFromStringDate(String stringDate) throws ParseException {
    SimpleDateFormat format = new SimpleDateFormat(SERVER_DATE_FORMAT, Locale.getDefault());
    return format.parse(stringDate);
}
4

1 回答 1

0

答案确实是根据文档X使用两位数的时区。感谢评论中的@commonsware 和@blizzard。如果您使用两位数的时区,Android 似乎并不介意,但在.ZNougat

于 2017-02-15T18:48:10.863 回答