最近群里有小伙伴问到这个问题,这边正好遇到过,记录一下。

这里最后边的“Z”是协调世界时中0时区的标志。协调世界时,即UTC,又称世界统一时间、世界标准时间、国际协调时间。
如果时间是以协调世界时(UTC)表示,则在时间后面直接加上一个“Z”。因此,“09:30 UTC”就写作“09:30Z”或是“0930Z”

而我们所在地方(中国大陆)使用的是东八区的时间,比0时区早了8小时。

下面介绍几种处理这种带时区的字符串变成我们熟悉的:

public class DateTimeTest {public static void main(String[] args) throws ParseException {final DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");// 设定一个0时区2月9号16点的时间字符串String date = "2020-03-09T16:00:00.19Z";// 第一种方法SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS Z");Date d = format.parse(date.replace("Z", " UTC"));System.out.println(df.format(d)); // 2020-03-10 00:00:00// 第二种方法,直接用Java8的InstantInstant instant = Instant.parse(date);// System.out.println(LocalDateTime.ofInstant(instant, ZoneId.systemDefault()));long time = instant.toEpochMilli();Date dateTime = new Date(time);System.out.println(df.format(dateTime)); // 2020-03-10 00:00:00// 第三种,其实这种和第一种差不多SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'");fmt.setTimeZone(TimeZone.getTimeZone("UTC"));System.out.println(fmt.parse(date));// 第三种,使用joda timeDate jtd = ISODateTimeFormat.dateTime().parseDateTime(date).toDate();System.out.println(jtd);}
}

Output:

2020-03-10 00:00:00
2020-03-10 00:00:00
Tue Mar 10 00:00:00 CST 2020
Tue Mar 10 00:00:00 CST 2020

我们看到0时区9号16点的已经变成我们我们熟悉的东八区时间了。

时间末尾多了.000Z?相关推荐

  1. 将UTC时间(2018-07-03T10:18:58.000Z)转换为北京时间

    2018-07-03T10:18:58.000Z是什么时间格式 UTC:时间标准时间,世界标准时间 ✅ GMT:格林尼治时间 GST:北京时间 js如何处理UTC时间格式 遇到问题:用了阿里云的接口, ...

  2. 时间 '2018-08-06T10:00:00.000Z' 格式转化为本地时间(转)

    原文:https://blog.csdn.net/sxf_123456/article/details/81582964 from datetime import datetime,timedelta ...

  3. 2022-02-17T16:00:00.000Z时间格式的转换

    // 时间戳转格林威治时间2022-02-17T16:00:00.000Z function formatDateT(dataTime) {var newDate = new Date(dataTim ...

  4. Dynamics CRM2016 Web Api之根据时间查询数据

    我的博文里已经有多次提到CRM中的时间处理问题了,本篇继续探讨在web api的场景下时间字段如何处理,本篇只涉及查询,针对2016中新增的时间行为"用户当地时间"和"无 ...

  5. 2022-3-29 Leetcode 636.函数的独占时间

    第一版,不会做,参考别人的. 学到的内容: C 库函数 int sscanf(const char *str, const char *format, -) 从字符串读取格式化输入. class So ...

  6. UTC0时间和太平洋时间转换

    1. 关系: UTC0时间长这样:2022-02-04T02:33:15.000Z UTC0时间 = 太平洋时间(PST) + 8h 题外: 北京时间 = UTC0 时间 + 8 h = 太平洋时间 ...

  7. 在vue中将2022-07-05T09:57:39.000Z 转换成 YYYY-MM-DD HH:mm:ss 格式

    1.问题描述 今天联系项目的时候遇到一个时间格式的问题,在数据库的时候时间格式是正常的,但是前端页面拿的数据渲染表格的时候就显示不是我想要的格式了,这就需要对时间格式进行处理了 下面两张图就是数据库和 ...

  8. dayjs​​​​​​​文档

    转载自   dayjs API Dayjs 并没有改变或覆盖 Javascript 原生的 Date.prototype, 而是创造了一个全新的包含 Javascript Date 对象的 Dayjs ...

  9. 换个角度看敏捷1-敏捷问题解决方式

    敏捷问题解决方式 敏捷是什么?这是我一直在思考的一个问题,同时也在敏捷之旅2010成都站提出.这似乎是一个不值得推敲的问题,敏捷就是"敏捷".但为何某些实践可以称为敏捷实践?方法学 ...

最新文章

  1. 马云:新一轮技术革命来袭,未来90%的制造业会在互联网上
  2. java super父类的父类_合理使用父类的财富——Java中的super
  3. meta viewport相关
  4. 【DDD】--好文收藏
  5. php magic quotes 选项为 on,PHP:当Magic Quotes为ON时,如何(正确)删除数组中的转义引号...
  6. codeforces 966c//Big Secret// Codeforces Round #477 (Div. 1)
  7. 2020年软考信息安全工程师教程第2版
  8. python进阶路线 知乎_Python自学路线图之Python进阶
  9. 哈夫曼编码与哈夫曼树
  10. python 爬虫。爬取小说--斗破苍穹
  11. 【IDEA更改默认字体大小】
  12. Kotlin - 面向对象之抽象类与接口
  13. C++中四种cast转换
  14. 【论文阅读】一种包含同态加密、差分隐私、多方安全计算的FL隐私保护框架 Efficient and Privacy-Enhanced Federated Learning for Industrial
  15. 2018年研究生数学建模竞赛B题(数模竞赛第二题思路)
  16. 关于KEIL SCT文件重写
  17. 马云卸任阿里巴巴CEO演讲全文:因为信任,所以简单!
  18. 游戏开发笔记(二)——开发流程和项目管理
  19. Axure RP 8 介绍
  20. matlab用已知二维数组做plot_Matlab二维数组及其应用

热门文章

  1. oracle 企业管理器网页打不开 解决https://localhost:1158/em问题
  2. 哪些权重7权重8的网站怎么做的!我的站就是这么做的!轻量级泛目录无需数据库适合所有网站所有cms只需要放在根目录即可
  3. Lumerical Mode FDE 碰到的错误整理【整理中】
  4. Panda白话 - G1垃圾收集器 之 Refine线程
  5. matlab实现三分之一倍频程,三分之一倍频程程序
  6. 手机端与PC端在线预览PDF
  7. docker 测试mysql_Mac上使用Docker快速启动MySQL测试
  8. 2021年前端会有什么新变化?
  9. 一步一步实现一款实用的Android广告栏
  10. 阿里一面集合_阿里天猫一面+阿里饿了么一面+阿里妈妈一面