将W3C TimeZone转换为设备TimeZone android

时间:2016-03-07 05:51:57

标签: java android database timezone w3c

我有什么

我的服务器日期字符串是 w3c日期格式2016-02-13T09:53:49.871Z

我的问题

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

我想要什么

我希望将服务器TimeZone转换为设备TimeZone,这样无论区域如何,用户都会看到他的本地时间格式

2 个答案:

答案 0 :(得分:1)

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

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;
    }

答案 1 :(得分:0)