29

世界でなぜこの例外が発生したのか、誰か教えてもらえますか?

08-28 08:47:05.246: D/DateParser(4238): 解析用に受信した文字列は 2013-08-05T12:13:49.000Z です

private final static String DATE_FORMAT_PATTERN = "yyyy-MM-dd'T'HH:mm:ss.SSSZ";


public static Date parseDate(String stringToParse) {
        Date date = null;
        try {
            date = new SimpleDateFormat(DATE_FORMAT_PATTERN).parse(stringToParse);
        } catch (ParseException e) {
            Logger.logError(TAG, e);
        }
        return null;
    }

08-28 08:47:05.246: E/DateParser(4238): Exception: java.text.ParseException: Unparseable date: "2013-08-05T12:13:49.000Z" (at offset 23)
4

4 に答える 4

12

フォーマット文字列の末尾のX代わりに使用します。Z

yyyy-MM-dd'T'HH:mm:ss.SSSX

ISO-8601 形式のタイムゾーン オフセットを解析します。

(Java 7 を使用している場合にのみ機能します。この質問を参照してください)。

于 2013-08-28T08:54:52.977 に答える
2

時間文字列のZは有効なタイムゾーン識別子ではありませんが、指定した時間形式ではタイムゾーン識別子が必要です。より具体的には、RFC 822 タイムゾーンID (通常は 4 桁) が必要です。

于 2013-08-28T08:53:32.010 に答える
0

Java-8から直接使用するZonedDateTimeInstantISO_INSTANTにある場合

ZonedDateTime.parse("2013-08-05T12:13:49.000Z")

Instant.parse("2013-08-05T12:13:49.000Z")
于 2019-10-30T01:37:11.090 に答える