最近工作上遇到UTC时区时间的相互转换需求,对时区中的相关概念和相互关系比较模糊,折腾了2天,最终解决了问题,将心得、资料和结果总结一下

1、首先要对java中对日期时间时区的处理API要很清楚才行,廖雪峰的资料解释的很详细讲JDK1.8前后两套API进行了对比。 日期与时间 - 廖雪峰的官方网站研究互联网产品和技术,提供原创中文精品教程https://www.liaoxuefeng.com/wiki/1252599548343744/1255943660631584

2、对GMT UTC 夏令时等时区概念的理解 。

彻底弄懂GMT、UTC、时区和夏令时 | ChampYin's Blog格林威治时间、世界时、祖鲁时间、GMT、UTC、跨时区、夏令时,这些眼花缭乱的时间术语,我们可能都不陌生,但是真正遇到问题,可能又不那么确定,不得不再去查一查,处理完可能过段时间又忘记。今天,我们彻底来梳理一下它们。https://champyin.com/2020/04/24/%E5%BD%BB%E5%BA%95%E5%BC%84%E6%87%82GMT%E3%80%81UTC%E3%80%81%E6%97%B6%E5%8C%BA%E5%92%8C%E5%A4%8F%E4%BB%A4%E6%97%B6/

3、代码解决两个问题,一个是utc时区转换,一个是获取当前系统默认UTC时区便宜量HOUR

   /*** 时区时间转换* @param time 时间字符串* @param pattern 格式 "yyyy-MM-dd HH"* @param fromTimeZone eg:8,0,9,-1 等等* @param toTimeZone 同nowTimeZone* @return*/public static String timeZoneTransfer(String time, String pattern, int fromTimeZone, int toTimeZone) {ZoneOffset fromZoneOffset = ZoneOffset.ofHours(fromTimeZone);ZoneOffset toZoneOffset = ZoneOffset.ofHours(toTimeZone);DateTimeFormatter formatter = DateTimeFormatter.ofPattern(pattern);ZonedDateTime from = LocalDateTime.parse(time, formatter).atZone(ZoneId.ofOffset("UTC", fromZoneOffset));ZonedDateTime to = from.withZoneSameInstant(ZoneId.ofOffset("UTC", toZoneOffset));return to.format(formatter);}/*** 获取系统时区偏移数值(hour)* @return*/public static int getZoneOffsetHour(){return ZonedDateTime.now().getOffset().getTotalSeconds()/3600;}

JAVA UTC时区时间相互转换相关推荐

  1. java不同时区时间转换,Java不同时区(timezone)之间时间转换

    最近出现一个问题是这样的 我们的系统在国外打印的日志时间由于时差关系和国内不一致 看起来不方便 希望国外的日志和国内保持一致 即 需要对不同时区的时间做转换调整 统一为国内时间. 一.关于时区的一些概 ...

  2. java 不同时区时间转换_Java对世界不同时区timezone之间时间转换的处理方法

    最近出现一个问题是这样的:我们的系统在国外打印的日志时间由于时差关系和国内不一致,看起来不方便,希望国外的日志和国内保持一致,即:需要对不同时区的时间做转换调整,统一为国内时间. 一.关于时区的一些概 ...

  3. java不同时区时间转换,Java在不同时区转换时间

    本文中,我们将展示如何在不同时区之间转换时间,我们分别使用Date.Calendar.Joda Time. 本例从新加坡时区 (GMT+8:00) Asia/Singapore - Singapore ...

  4. Java 时间戳与时间相互转换

    public class Test2 {public static void main(String args[]){//将时间戳转换为时间SimpleDateFormat simpleDateFor ...

  5. java 获取est时间_将日期字符串(EST)转换为Java日期(UTC)

    我需要有关此java方法的一些建议.此方法的目的是采用表示日期的字符串-该字符串是从EST时区中的日期创建的-并将其转换为UTC时区中的java Date对象. private Date buildV ...

  6. 彻底弄透Java处理GMT/UTC日期时间

    平时工作中遇到时间如何处理?用Date还是JDK 8之后的日期时间API?如何解决跨时区转换等等头大问题.A哥向来管生管养,管杀管埋,因此本文就带你领略一下,Java是如何实现GMT和UTC的? 众所 ...

  7. Java中的时间、时区和夏令时

    相关概念 时区 时区是地球上的区域使用同一个时间定义.以前,人们通过观察太阳的位置(时角)决定时间,这就使得不同经度的地方的时间有所不同(地方时).1863年,首次使用时区的概念.时区通过设立一个区域 ...

  8. java 获取时区的时间_如何使用Java获取时区的当前日期和时间?

    如何使用Java获取时区的当前日期和时间? 我的应用托管在伦敦服务器中. 我在西班牙马德里. 因此,时区为-2小时. 如何获取带有时区的当前日期/时间. Date curr_date = new Da ...

  9. Java处理GMT时间和UTC时间

    时间标准简介 UTC(世界标准时间) 协调世界时,又称世界标准时间或世界协调时间,简称UTC(从英文"Coordinated Universal Time"/法文"Tem ...

  10. JAVA UTC时间和本地时间

    UT - 世界时 Universal Time 世界时是最早的时间标准. 在1884年,国际上将1s确定为全年内每日平均长度的1/8.64×104.以此标准形成的时间系统,称为世界时,即 UT1. 1 ...

最新文章

  1. 如何利用图像预处理提高OCR的准确性?
  2. 每周一书《Spark与Hadoop大数据分析》分享!
  3. oracle opaque_transform,oracle databse link
  4. data:text/html firefox钓鱼,JS DataURL 整理(一)
  5. python简单的小程序_Python简单小程序---名片简易系统
  6. 地震了?不,是心动了!
  7. 获得输入框的文本document.getElementById('id').value;
  8. 一个不能进入系统的小问题——供远程为别人解决问题时参考。
  9. 微信支付JAVA DEMO 微信支付爬过的坑
  10. 电脑实用的软件及工具
  11. 在计算机中怎么找到打字的文件,想在电脑上打字,然后把电脑上写的字,弄到纸上怎么做...
  12. 关于IDEA中使用git更新代码,会覆盖掉未提交的新代码解决问题
  13. win10刚安装linux黑屏,win10 + Ubuntu18.04 双系统,UEFI+GPT,从win10切换到Ubuntu时黑屏问题...
  14. android 配置aspect_Android全面屏适配
  15. word转excel
  16. Excel中的美元符号$
  17. Python学习笔记(7)——Matplotlib中的Axes.plot(绘制点、线和标记)的用法
  18. CodeBlocks调试功能快捷教程
  19. 虚拟号的运营商一般是哪家的?你知道吗?
  20. 服务器不能用pe安装win7系统安装,PE安装win7系统失败的完美解决方案

热门文章

  1. 利用python批量创建.xsh文件实现Xshell批量登录服务器
  2. 佳能打印服务 android,佳能打印机app
  3. MongoDB Master-Slaver集群部署
  4. 6.5 发散思维能力
  5. 小米5.0以上设备最完美激活xposed框架的流程
  6. 2021-09-08
  7. 记忆力训练软件测试自学,[记忆力训练软件]记忆力训练软件有哪些?
  8. 老徐最近翻译的Mercury“最佳功能测试实践”-第一部分
  9. 优雅草开源系统-YYC优雅草蜻蜓Q系统前端文件目录说明-----搭配后端
  10. 安卓短信软件_【安卓清理君】极度舒适的垃圾清理工具