[英]Unparseable date exception in Android API 25 but not 22 or 23
我一直在開發應用程序,並使用Api 22 and 23
在仿真器和設備上進行測試,但是今天當我在使用API 25
或Version 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)
我正在使用以下模式"yyyy-MM-dd HH:mm:ssZ"
解析日期"2017-02-08 18:39:21+00"
,在我在運行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);
}
答案確實是根據文檔將X
用作兩位時區。 感謝@commonsware和@blizzard的評論。 似乎Android似乎不介意您是否將Z
用作兩位時區,但在Nougat
對它更加嚴格。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.