无法解释的日期:"2013-07-11T13:41:22.000Z"(偏移23处)

Eug*_*ene 26 java

任何人都可以告诉我为什么在世界上我得到这个例外?

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)
Run Code Online (Sandbox Code Playgroud)

Sca*_*bat 67

尝试使用

String DATE_FORMAT_PATTERN = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"
Run Code Online (Sandbox Code Playgroud)

所述Z在端部通常是时区偏移.如果你不需要它,也许你可以将它放在两边.


Jes*_*per 11

使用X而不是Z格式字符串的末尾:

yyyy-MM-dd'T'HH:mm:ss.SSSX
Run Code Online (Sandbox Code Playgroud)

解析ISO-8601格式的时区偏移量.

(仅在使用Java 7时才有效.请参阅此问题).