UTC时间格式化(JAVA) 时间带T Z

您所在的位置:网站首页 linux输出时间中间加空格什么意思 UTC时间格式化(JAVA) 时间带T Z

UTC时间格式化(JAVA) 时间带T Z

2024-07-14 23:25| 来源: 网络整理| 查看: 265

目录

简单介绍

时间类

当前环境时区

UTC转本地时间

Window系统环境

时间格式: 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 这一刻开始的毫秒数

当前环境时区 //当前时间Date Date now = new Date(); System.out.println(now); //Wed Jan 31 23:32:03 GMT+08:00 2018 //例如我的环境时区为:(UTC+08:00)北京,重庆,香港特别行政区,乌鲁木齐(+0800) SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ"); System.out.println(sdf.getTimeZone()); System.out.println(sdf.format(now)); //sun.util.calendar.ZoneInfo[id="GMT+08:00",offset=28800000, //dstSavings=0,useDaylight=false,transitiOns=0,lastRule=null] //2018-01-31T23:32:03.469+0800

UTC转本地时间

时间带T Z

有时候看到世界带T Z (如:2018-01-31T14:32:19Z) UTC统一时间

T代表后面跟着是时间,Z代表0时区(相差北京时间8小时)

首先定义一个UTC时间为:2018-01-31T14:32:19Z

String utcTime = "2018-01-31T14:32:19Z"; SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'"); //设置时区UTC df.setTimeZone(TimeZone.getTimeZone("UTC")); //格式化,转当地时区时间 Date after = df.parse(utcTime); System.out.println(after); //Wed Jan 31 22:32:19 GMT+08:00 2018

再从Date转直观字符串

df.applyPattern("yyyy-MM-dd HH:mm:ss"); //默认时区 df.setTimeZone(TimeZone.getDefault()); System.out.println(df.format(after)); //2018-01-31 22:32:19

Window系统环境



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3