UTC时间,指的是把源日期转化为0时区的时间。

1.如果结果是Date类型,则需要在Calendar对象 内计算时间偏移

 /*** 把时间转化为utc时间格式* * @param localTime   源日期long形式* @param localZone   源日期的时区* @return*/public static Date translatetoUtc(long localTime, TimeZone localZone) {Calendar cal = Calendar.getInstance();cal.setTimeInMillis(localTime);cal.setTimeZone(localZone);/** 取得时间偏移量 */int zoneOffset = cal.get(java.util.Calendar.ZONE_OFFSET);/** 从本地时间里扣除这些差量,即可以取得UTC时间 */cal.add(java.util.Calendar.MILLISECOND, -zoneOffset );/** 取得的时间就是UTC标准时间 */return cal.getTime();}

2.如果结果是long类型,直接计算差值即可

/*** 把时间转化为utc时间格式* * @param localTime* @return*/public static long translatetoUtcInMillis(long localTime, TimeZone localZone) {/** 取得时间偏移量,getRawOffset刚好是与0时区的差值 */int zoneOffset = localZone.getRawOffset();/** 取得的时间就是UTC标准时间 */return localTime - zoneOffset;}

3.返回值为字符串格式
思路是通过SimpleDateFormat.format方法,自动转换时区,核心点在于找到UDC时间对应的TimeZone,经确认,UDC时区对应的ID为“UTC”

 public static String translatetoUtcString(long localTime, TimeZone localZone) {Calendar cal = Calendar.getInstance();cal.setTimeInMillis(localTime);cal.setTimeZone(localZone);//首先获取一个Date对象Date source = cal.getTime();DateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss z");//设置目标UTC时区sdf.setTimeZone(TimeZone.getTimeZone("UTC"));return sdf.format(source);}

【日期、时区、时间】本地时间转UTC时间详解相关推荐

  1. caffeine本地缓存的使用和详解

    在项目中我们经常使用缓存架构,来缓存我们的数据,比如redis.caffeine等.那么redis和caffeine有什么区别?作用又有哪些不同呢? caffeine本地缓存的使用和详解 caffei ...

  2. golang导入git包_使用go module导入本地包的方法教程详解

    go module 是Go1.11版本之后官方推出的版本管理工具,并且从 Go1.13 版本开始, go module 将是Go语言默认的依赖管理工具.到今天 Go1.14 版本推出之后 Go mod ...

  3. Leetcode怎么调试java代码,IDEA2020.1使用LeetCode插件运行并调试本地样例的方法详解...

    环境: idea2020.1 插件: LeetCode-editor 6.7 一.IDEA安装LeetCode插件 安装完成重启idea 打开插件 URL可以选择国服和世界服.LoginName和Pa ...

  4. go语言导入git包_使用go module导入本地包的方法教程详解

    go module 是Go1.11版本之后官方推出的版本管理工具,并且从 Go1.13 版本开始, go module 将是Go语言默认的依赖管理工具.到今天 Go1.14 版本推出之后 Go mod ...

  5. oracle数据库按日期查询,关于Oracle数据库日期范围查询的两种实现方法详解,oracle详解...

    关于Oracle数据库日期范围查询的两种实现方法详解,oracle详解 Oracle数据库日期范围查询有两种方式:to_char方式和to_date方式,接下来我们通过一个实例来介绍这一过程.我们假设 ...

  6. android utc时间转换,android 获取UTC时间和与.net时间戳的转换

    本文纯属整合,将在项目中用到的UTC时间和与.NET时间戳的转换进行记录.1.android获取UTC时间/***获取UTC时间**@return*/publicstaticStringgetUTCT ...

  7. linux服务器cst时间不对,Linux中UTC时间与CST时间不一致的问题

    为了学习,在虚拟机中最小化安装了CentOS6.7,使用时发现文件的时间戳跟实际时间不一致,用date查看时间的时候显示: 2016年 01月 01日 星期五 21:11:43 CST 然后用date ...

  8. C#编程练习(03):北斗时间系统、GPS时间系统及其与UTC时间系统之间的转换

    需求说明:北斗周-周内秒转化为日历时,转化为UTC时,转化为GPS周周内秒 GPS周-周内秒转化为日历时,转化为UTC时,转化为北斗周-周内秒 设计示意图: 源代码: using System; us ...

  9. 网络时间的那些事及 ntpq 详解

    2019独角兽企业重金招聘Python工程师标准>>> GMT (Greenwich Mean Time)格林威治时间 UTC (Coordinated Universal Time ...

  10. Linux执行yum不显示时间,Linux停的yum命令详解(朝花夕拾)

    yum是干什么的使用redhat,fedora的linuxer肯定都为rpm著名的dependency hell而头疼(这也是所有基于rpm发行版都有的问题).foo is needed by bar ...

最新文章

  1. CentOS7种搭建FTP服务器
  2. ActiveX 控件导入程序
  3. Ubuntu终端Terminal常用快捷键
  4. java迪杰斯特拉算法介绍_178-迪杰斯特拉(Dijkstra)算法基本介绍
  5. SAP UI5 应用开发教程之六十六 - 基于 OData V4 的 SAP UI5 表格控件如何实现删除功能试读版
  6. 给微软的日志框架写一个基于委托的日志提供者
  7. asp.net读取用户控件,自定义加载用户控件
  8. idea base64encoder没有jar包_老师,免费版的IDEA为啥不能使用Tomcat?
  9. 局域网Ubuntu与WinXP实现文件共享
  10. spring mvc 基于表单的认证过程及cookie应用和session管理
  11. 【clickhouse】clickhouse表引擎之ReplacingMergeTree
  12. 模型flops 的计算方法
  13. flask不运行主函数解决方法
  14. 文本转语音(TTS)工具Balabolka
  15. HOMAG工控机维修西门子IPC627D维修HG-A.1.0
  16. maven编译,执行测试用例报错 The forked VM terminated without saying properly goodbye. VM crash or System.exit c
  17. 容器技术介绍之docker核心技术概述
  18. 360手机刷机·EdXposed安装和使用教程
  19. PPG_Projector第一种方法:FindA
  20. php 查询功能,php实现查询功能的方法

热门文章

  1. 分辨率,屏幕尺寸,屏幕密度,dp,px,sp
  2. 查询姓李老师的mysql_day41:MYSQL:select查询练习题
  3. Linux内核访问用户空间文件:get_fs()/set_fs()的使用
  4. 数据库MySQL(一) 常用查询语句
  5. elementUI表格表头内容自动生成
  6. UEToUnity CLUT
  7. 雨林木风刘杰娇:114 啦网址导航改版围绕用户需求与时俱进
  8. freemarker模板导出word循环图片表格详细教程
  9. ehcache java清除缓存数据,EhCache缓存使用
  10. Java 判断输入的数字最大值