6

我已经阅读了很多关于这个问题的答案,但没有答案能解决我的问题

我正在尝试解析这个字符串:

"2013-10-07T23:21:00+01:00"

到具有 simpledateformat 的 Date 对象:

"yyyy-MM-dd'T'HH:mm:ssZZZZZ"

但它不断产生错误:

java.text.ParseException:无法解析的日期:“”(偏移量 0)

注意:我正在 Android 上尝试这个,我是初学者。

4

2 回答 2

2

尝试使用以下代码

public static Calendar parseDate(String dateTimeStr)
            throws ParseException {
        Calendar calendar = GregorianCalendar.getInstance();
        String s = dateTimeStr.replace("Z", "+00:00");
        try {
            s = s.substring(0, 22) + s.substring(23);
        } catch (IndexOutOfBoundsException e) {
            throw new ParseException("Invalid length", 0);
        }
        Date date = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ").parse(s);
        calendar.setTime(date);
        return calendar;
    }
于 2013-10-08T12:25:49.913 回答
-2

如果你使用 java 7,你可以使用:

yyyy-MM-dd'T'HH:mm:ssXXX

你可以在这里查看更多

于 2013-10-08T11:50:47.897 回答