Java Android解析和格式化DateTime时间戳

Java Android解析和格式化DateTime时间戳,java,android,datetime,Java,Android,Datetime,我需要Android/Java文本格式方面的帮助。我一直在努力研究如何从SQLite数据库解析和格式化Google日期时间字符串。我得到的错误是 E/TAG﹕ Parsing ISO8601 datetime failed java.text.ParseException: Unparseable date: "2015-08-04T18:20:00.000-04:00" (at offset 10) at java.text.DateFormat.parse(D

我需要Android/Java文本格式方面的帮助。我一直在努力研究如何从SQLite数据库解析和格式化Google日期时间字符串。我得到的错误是

E/TAG﹕ Parsing ISO8601 datetime failed
    java.text.ParseException: Unparseable date: "2015-08-04T18:20:00.000-04:00" (at offset 10)
            at java.text.DateFormat.parse(DateFormat.java:579)
我写的方法是

import java.util.Date;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.TimeZone;

试着从

DateFormat iso8601Format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");


我的代码给出的时间戳似乎比设备时区晚了四个小时。调整
formatDateTime(mContext,when+TimeZone.getDefault().getOffset(when),标志)的任何提示
DateFormat iso8601Format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
DateFormat iso8601Format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ");