UTC时间格式化(JAVA) 时间带T Z |
您所在的位置:网站首页 › linux输出时间中间加空格什么意思 › UTC时间格式化(JAVA) 时间带T Z |
目录 简单介绍 时间类 当前环境时区 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 |