【日期、时区、时间】本地时间转UTC时间详解
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时间详解相关推荐
- caffeine本地缓存的使用和详解
在项目中我们经常使用缓存架构,来缓存我们的数据,比如redis.caffeine等.那么redis和caffeine有什么区别?作用又有哪些不同呢? caffeine本地缓存的使用和详解 caffei ...
- golang导入git包_使用go module导入本地包的方法教程详解
go module 是Go1.11版本之后官方推出的版本管理工具,并且从 Go1.13 版本开始, go module 将是Go语言默认的依赖管理工具.到今天 Go1.14 版本推出之后 Go mod ...
- Leetcode怎么调试java代码,IDEA2020.1使用LeetCode插件运行并调试本地样例的方法详解...
环境: idea2020.1 插件: LeetCode-editor 6.7 一.IDEA安装LeetCode插件 安装完成重启idea 打开插件 URL可以选择国服和世界服.LoginName和Pa ...
- go语言导入git包_使用go module导入本地包的方法教程详解
go module 是Go1.11版本之后官方推出的版本管理工具,并且从 Go1.13 版本开始, go module 将是Go语言默认的依赖管理工具.到今天 Go1.14 版本推出之后 Go mod ...
- oracle数据库按日期查询,关于Oracle数据库日期范围查询的两种实现方法详解,oracle详解...
关于Oracle数据库日期范围查询的两种实现方法详解,oracle详解 Oracle数据库日期范围查询有两种方式:to_char方式和to_date方式,接下来我们通过一个实例来介绍这一过程.我们假设 ...
- android utc时间转换,android 获取UTC时间和与.net时间戳的转换
本文纯属整合,将在项目中用到的UTC时间和与.NET时间戳的转换进行记录.1.android获取UTC时间/***获取UTC时间**@return*/publicstaticStringgetUTCT ...
- linux服务器cst时间不对,Linux中UTC时间与CST时间不一致的问题
为了学习,在虚拟机中最小化安装了CentOS6.7,使用时发现文件的时间戳跟实际时间不一致,用date查看时间的时候显示: 2016年 01月 01日 星期五 21:11:43 CST 然后用date ...
- C#编程练习(03):北斗时间系统、GPS时间系统及其与UTC时间系统之间的转换
需求说明:北斗周-周内秒转化为日历时,转化为UTC时,转化为GPS周周内秒 GPS周-周内秒转化为日历时,转化为UTC时,转化为北斗周-周内秒 设计示意图: 源代码: using System; us ...
- 网络时间的那些事及 ntpq 详解
2019独角兽企业重金招聘Python工程师标准>>> GMT (Greenwich Mean Time)格林威治时间 UTC (Coordinated Universal Time ...
- Linux执行yum不显示时间,Linux停的yum命令详解(朝花夕拾)
yum是干什么的使用redhat,fedora的linuxer肯定都为rpm著名的dependency hell而头疼(这也是所有基于rpm发行版都有的问题).foo is needed by bar ...
最新文章
- CentOS7种搭建FTP服务器
- ActiveX 控件导入程序
- Ubuntu终端Terminal常用快捷键
- java迪杰斯特拉算法介绍_178-迪杰斯特拉(Dijkstra)算法基本介绍
- SAP UI5 应用开发教程之六十六 - 基于 OData V4 的 SAP UI5 表格控件如何实现删除功能试读版
- 给微软的日志框架写一个基于委托的日志提供者
- asp.net读取用户控件,自定义加载用户控件
- idea base64encoder没有jar包_老师,免费版的IDEA为啥不能使用Tomcat?
- 局域网Ubuntu与WinXP实现文件共享
- spring mvc 基于表单的认证过程及cookie应用和session管理
- 【clickhouse】clickhouse表引擎之ReplacingMergeTree
- 模型flops 的计算方法
- flask不运行主函数解决方法
- 文本转语音(TTS)工具Balabolka
- HOMAG工控机维修西门子IPC627D维修HG-A.1.0
- maven编译,执行测试用例报错 The forked VM terminated without saying properly goodbye. VM crash or System.exit c
- 容器技术介绍之docker核心技术概述
- 360手机刷机·EdXposed安装和使用教程
- PPG_Projector第一种方法:FindA
- php 查询功能,php实现查询功能的方法
热门文章
- 分辨率,屏幕尺寸,屏幕密度,dp,px,sp
- 查询姓李老师的mysql_day41:MYSQL:select查询练习题
- Linux内核访问用户空间文件:get_fs()/set_fs()的使用
- 数据库MySQL(一) 常用查询语句
- elementUI表格表头内容自动生成
- UEToUnity CLUT
- 雨林木风刘杰娇:114 啦网址导航改版围绕用户需求与时俱进
- freemarker模板导出word循环图片表格详细教程
- ehcache java清除缓存数据,EhCache缓存使用
- Java 判断输入的数字最大值