DateFormat问题

时间:2011-10-13 18:16:30

标签: java date-format

此代码总是抛出解析预言

java.text.ParseException: Unparseable date: "2011-10-28T17:06:03.046Z". 

我正在使用1.6.0_24 java ver。

SimpleDateFormat inFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ", Locale.US);
            try {
                utilDate = inFormat.parse("2011-10-28T17:06:03.046Z");
            } catch (ParseException e) {
                utilDate = null;
            }

你能指出我的错误吗?

1 个答案:

答案 0 :(得分:3)

http://download.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html 说:
"yyyy-MM-dd'T'HH:mm:ss.SSSZ" -> 2001-07-04T12:08:56.235-0700 所以将Z放入',它应该可以正常工作或完全忽略Z

SimpleDateFormat inFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS", Locale.US);   
try { utilDate = inFormat.parse("2011-10-28T17:06:03.046"); } catch (ParseException e) {   utilDate = null; }

SimpleDateFormat inFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'", Locale.US);   
try { utilDate = inFormat.parse("2011-10-28T17:06:03.046Z"); } catch (ParseException e) {   utilDate = null; }