大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全家桶1年46,售后保障稳定
关于时间格式 2016-08-9T10:01:54.123Z 20160809100154.123Z 处理方法
今天遇到了一个奇怪的时间格式
如以下格式,下面两种时间格式所表示的时间是同一个时间,这个不难理解
//UTC时间,世界标准时间
2016-08-9T10:01:54.123Z
20160809100154.123Z
如图所示,这是一张由网友提供的图片,里面显示的是时间
UTC时间转换为GSM时间
UTC时间转换为GSM时间
然后无论如何,这个奇怪的时间我们可能看不懂,但是我们最终要显示的时间是北京时间(如果你是其他国家的人就另当别论了哦)
那么下面我们就来简单介绍一下关于时间的一些基本知识:
首先是UTC:协调世界时
协调世界时(英:Coordinated Universal Time ,法:Temps Universel Coordonné),又称世界统一时间,世界标准时间,国际协调时间。英文(CUT)和法文(TUC)的缩写不同,作为妥协,简称UTC。
世界标准时间UTC:GMT+0
GMT:格林尼治平时
世界时UT 即格林尼治时间,格林尼治所在地的标准时间。以地球自转为基础的时间计量系统。地球自转的角度可用地方子午线相对于地球上的基本参考点的运动来度量。为了测量地球自转,人们在地球上选取了两个基本参考点:春分点(见分至点)和平太阳,由此确定的时间分别称为恒星时和平太阳时。
但是格林尼治本地的时间比格林尼治平时,大一小时,也就是格林尼治本地的时间:GMT+1
CST时间:也就是北京时间
通常我们在数据库中存放,或者给用户看的时间都是CST时间
北京时间CST:GMT+8
现在我们说说上面的时间
2016-08-9T10:01:54.123Z
20160809100154.123Z
首先字母T:他表示后面跟的时间
而最末尾的Z表示UTC统一时间
而123表示的毫秒,大家可以测试将123改为1230,最后得到的时间,秒会增加1秒
如上面第一个 表达式 2016-08-9T10:01:54.123Z
我们可以这样来获得一个CST(北京时间)时间,看如下代码:
String str ="2016-08-9T10:01:54.123Z";
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS Z");
Date d = format.parse(str.replace("Z", " UTC"));//注意是空格+UTC
System.out.println(d);
这样我们就获得了一个本地的时间
最后我们得到的时间是:Tue Aug 09 18:01:54 CST 2016
而表达式 20160809100154.123Z
他的转换方式也是一样的,知识格式化时,将格式化字符串修改以下即可:yyyyMMddHHmmss.SSS Z
北京时间所属时区: UTC/GMT +8
格林威治标准时间所属时区: UTC/GMT +1
格林威治时间格式:
Thu Oct 16 07:13:48 GMT 2015
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/200773.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...