Java Android将UTC日期转换为本地时区

Java Android将UTC日期转换为本地时区,java,android,date,Java,Android,Date,我从API中获取此日期字符串:“2015-12-07T14:11:15.596Z” 但是这个日期是UTC格式的,我想把它转换成当地时间,我怎么做呢 我试过这个: try { SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); simpleDateFormat.setTimeZone(TimeZone.getTimeZone("UTC")); return simp

我从API中获取此日期字符串:
“2015-12-07T14:11:15.596Z”

但是这个日期是UTC格式的,我想把它转换成当地时间,我怎么做呢

我试过这个:

try
{
    SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    simpleDateFormat.setTimeZone(TimeZone.getTimeZone("UTC"));
    return simpleDateFormat.parse(this.created_at);
}
catch (ParseException e)
{
    Log.e("Error Date at Whisp", e.getMessage());
    return null;
}
但它返回给我这个错误:

Unparseable date: "2015-12-07T13:21:17.996Z" (at offset 10)

T
Z
不在您的掩码中

或者

created_at = created_at.replace ("T", "").replace ("Z", "");

或者修改您的掩码

您的日期格式模式错误。改为:

SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.S'Z'");

有关更多信息,请参阅

的javadoc,在发布前搜索StackOverflow。解析日期时间字符串、
ParseException
/“不可解析”和调整时区等主题已经被讨论了数百次。仅供参考,诸如、
java.text.SimpleDateFormat
等令人烦恼的旧日期时间类现在已被这些类所取代。请参阅。我尝试了这个,但给出了那个不可解析的日期:“2015-12-07T13:21:17.996Z”(在偏移量11处),他不喜欢“t”Ithink@JohnyBro你有“T”的引号吗?是的,“Yyyy mm d''H: mm:SS '' z ' @ JangyBro对不起我的错。在第二个单夸克TX工作之后删除空白,我得到这个“Mun-DEC 07 09:11:15 EST 2015”,但是我怎么能得到像“7.12 09:11”这样的东西呢?" ?