首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >无法解析的日期:"2013-07-11T13:41:22.000Z“(偏移量23)

无法解析的日期:"2013-07-11T13:41:22.000Z“(偏移量23)
EN

Stack Overflow用户
提问于 2013-08-28 16:50:10
回答 4查看 58.7K关注 0票数 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)
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-08-30 14:12:34

尝试使用

String DATE_FORMAT_PATTERN = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"

最后的Z通常是时区偏移量。如果你你不需要它,也许你可以把它放在两边。

票数 81
EN

Stack Overflow用户

发布于 2013-08-28 16:54:53

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

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

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

(仅当您使用Java7时才有效。请参阅this question)。

票数 12
EN

Stack Overflow用户

发布于 2013-08-28 16:53:32

时间字符串中的Z不是有效的时区标识符,但您指定的时间格式需要一个时区标识符。更具体地说,它需要一个RFC 822 timezone标识符,通常是4位数。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18483314

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档