我有一个从服务器的日期字符串,它是在W3C日期格式2016-02-13T09:53:49.871Z
我问题
当我发布信息到服务器,它显示了5个小时前,而不是刚才
我想要什么
我想要的服务器TimeZone
转换为设备TimeZone
,使不论区域,用户将看到他的本地时间格式
我有一个从服务器的日期字符串,它是在W3C日期格式2016-02-13T09:53:49.871Z
我问题
当我发布信息到服务器,它显示了5个小时前,而不是刚才
我想要什么
我想要的服务器TimeZone
转换为设备TimeZone
,使不论区域,用户将看到他的本地时间格式
我解决它,如果任何一个需要可以参考这种合作de
public String convertW3CTODeviceTimeZone(String strDate) throws Exception {
SimpleDateFormat simpleDateFormatW3C = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'", Locale.US);
simpleDateFormatW3C.setTimeZone(TimeZone.getTimeZone("GMT"));
Date dateServer = simpleDateFormatW3C.parse(strDate);
TimeZone deviceTimeZone = TimeZone.getDefault();
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
simpleDateFormat.setTimeZone(deviceTimeZone);
String formattedDate = simpleDateFormat.format(dateServer);
return formattedDate;
}
“W3C”不是有效的区域标识符。在这种情况下,你真幸运,Android会悄然回落到GMT。所以请使用“GMT”(为了正确解释输入中的尾部Z)。 –
感谢您的信息:)。我编辑了anwer –
2016-08-26T00:00:00 + 00:00 如何转换?具有“+00:00” – Prasad