簡體   English   中英

Android API 25中不可解析的日期異常,但不是22或23

[英]Unparseable date exception in Android API 25 but not 22 or 23

我一直在開發應用程序,並使用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)

我正在使用以下模式"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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM