java UTC时间格式化 时间带T Z

龙哥4个月前java144

最近在调用一个国外的网站api,返回的json数据格式的时间如 2018-01-31T14:32:19Z 。时间字符串带T和Z。这时候需要根据业务来确认你是否要转时间为北京时间,不需要直接SimpleDateFormat即可,需要的设置相应时区再转。



简单介绍

1、UTC(协调世界时)又称世界统一时间、世界标准时间、国际协调时间。

2、GMT(格林尼治标准时间)一般指世界时

3、CST(中央标准时间)可视为美国、澳大利亚、古巴或中国的标准时间。


CST可以为如下4个不同的时区的缩写:

美国中部时间:Central Standard Time (USA) UT-6:00

澳大利亚中部时间:Central Standard Time (Australia) UT+9:30

中国标准时间:China Standard Time UT+8:00

古巴标准时间:Cuba Standard Time UT-4:00


Date:

尽管 Date 类打算反映协调世界时 (UTC),但无法做到如此准确,这取决于 Java 虚拟机的主机环境。

一些计算机标准是按照格林威治标准时 (GMT) 定义的,格林威治标准时和世界时 (UT) 是相等的。

UTC 和 UT 的区别是:UTC 是基于原子时钟的,UT 是基于天体观察的,两者在实际应用中难分轩轾。

闰秒是根据需要引入 UTC 的,以便把 UTC 保持在 UT1 的 0.9 秒之内,UT1 是应用了某些更正的 UT 版本。


DateFormat:

将日期表示为 Date 对象,或者表示为从 GMT(格林尼治标准时间)1970 年 1 月 1 日 00:00:00 这一刻开始的毫秒数


public static void main(String[] args) throws ParseException {
    	    String utcTime="2022-01-19T08:13:18.752+00:00";
    	    SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS");
    	  //设置时区UTC
    	    df.setTimeZone(TimeZone.getTimeZone("UTC"));
    	    //格式化,转当地时区时间
    	    Date after = df.parse(utcTime);
    	    System.out.println(after);
    }


参考

https://www.weizhixi.com/article/70.html

作者:龙哥leon
链接:http://anool.net
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 如果觉得文章对你有帮助,可以请我喝杯咖啡

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。