开发者社区> 问答> 正文

如何使用java将GMT转换为UTC格式

需要将response的header时间记录下来进行对比,发现时间是类似这样的:“Tue, 20 Jan 2015 04:07:51 GMT”,而我想要得到“2015-01-20T04:07:51Z”这样格式的,网上找了好久没找到合适的方法,时间解析老是解析不出来。目前我用了字符串截取的方法勉强凑合出来能用了,但有没有更好的方法呢?求助各位了。

展开
收起
蛮大人123 2016-02-21 15:22:43 6276 0
1 条回答
写回答
取消 提交回答
  • 我说我不帅他们就打我,还说我虚伪

    由于Date的相关 API 不易于实现国际化。从 JDK 1.1 开始,应该使用 Calendar 类来操作“年月日时分秒”,同时可以通过 DateFormat 类来格式化和解析日期字符串。Date 中的相应方法已废弃。
    //T代表后面跟着时间,Z代表UTC统一时间
    String tpTme = "2014-11-11T14:00:00+0800";
    String pmTime = "2014-11-07T14:00:00Z";

    @Test
    public void testTPTime() throws Exception {
    //2014-11-11T14:00:00+08:00
    SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ");
    String time = format.format(new Date());
    System.out.println(time);

    }

    @Test
    public void testPMTime() throws Exception {
    //2014-11-07T14:00:00Z
    SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'");
    String time = format.format(new Date());
    System.out.println(time);
    }

    //转换回来
    @Test
    public void testParsePMTime() throws Exception {
    SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'");
    Date time = df.parse(pmTime);
    System.out.println(time);
    }

    //转换回来
    @Test
    public void testParseTPTime() throws Exception {
    SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ");
    Date time = df.parse(tpTme);
    System.out.println(time);
    }

    2019-07-17 18:45:59
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Spring Cloud Alibaba - 重新定义 Java Cloud-Native 立即下载
The Reactive Cloud Native Arch 立即下载
JAVA开发手册1.5.0 立即下载