Java 将W3C时区转换为android设备时区

Java 将W3C时区转换为android设备时区,java,android,database,timezone,w3c,Java,Android,Database,Timezone,W3c,我拥有的 我有一个来自服务器的日期字符串,格式为w3c日期格式2016-02-13T09:53:49.871Z 我的问题 当我将消息发布到服务器时,它显示的是5小时前而不是现在 我想要什么 我希望将服务器时区转换为设备时区,这样,无论哪个地区,用户都可以看到其本地时间格式希望此blogspot并链接您所期望的: 我解决了,如果有人需要,可以参考此代码 public String convertW3CTODeviceTimeZone(String strDate) throws Exceptio

我拥有的

我有一个来自服务器的日期字符串,格式为w3c日期格式2016-02-13T09:53:49.871Z

我的问题

当我将消息发布到服务器时,它显示的是5小时前而不是现在

我想要什么


我希望将服务器
时区
转换为设备
时区
,这样,无论哪个地区,用户都可以看到其本地时间格式

希望此blogspot并链接您所期望的:


我解决了,如果有人需要,可以参考此代码

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)。2016-08-26T00:00:00+00:00如何转换?有“+00:00”的