通用协调时(UTC, Universal Time Coordinated),格林尼治平均时(GMT, Greenwich Mean Time) 由于历史原因,这两个时间是一样的。
北京时区是东八区,领先UTC八个小时,在电子邮件信头的Date域记为+0800。
转换中,最重要的公式就是:
UTC + 时区差 = 本地时间
publicstaticCalendarconvertToGmt(Calendarcal){
Datedate=cal.getTime();
TimeZonetz=cal.getTimeZone();
System.out.println("inputcalendarhasdate["+date+"]");
//ReturnsthenumberofmillisecondssinceJanuary1,1970,00:00:00 GMT
longmsFromEpochGmt=date.getTime();
//givesyouthecurrentoffsetinmsfromGMTatthecurrentdate
intoffsetFromUTC=tz.getOffset(msFromEpochGmt);
System.out.println("offsetis"+offsetFromUTC);
//createanewcalendarinGMTtimezone,settothisdateandaddthe offset
CalendargmtCal=Calendar.getInstance(TimeZone.getTimeZone("GMT"));
CalendarutcCal=Calendar.getInstance(TimeZone.getTimeZone("UTC"));
gmtCal.setTime(date);
//根据东西时区,选择offsetFromUTC为正或负数
gmtCal.add(Calendar.MILLISECOND,offsetFromUTC);
utcCal.setTime(date);
utcCal.add(Calendar.MILLISECOND,offsetFromUTC);
System.out.println("CreatedGMTcalwithdate["+gmtCal.getTime()
+"=="+utcCal.getTime()+"]");
returngmtCal;
}
相关推荐
主要介绍了Java时区处理之Date,Calendar,TimeZone,SimpleDateFormat的区别于用法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
说起java中的时间,大家或许都很熟悉,朗朗上口的Date、Calendar、SimpleDateFormat等。但是大家对他们的认识真的很深刻吗?我要想大家说的是TimeZone,即时区。 经常有人发现时间不对,比如相差8个小时等等,其...
主要介绍了Java对世界不同时区timezone之间时间转换的处理方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
NULL 博文链接:https://hoochiang.iteye.com/blog/1848534
2、时区处理:了解如何使用Java日期时间类处理多时区的情况,包括转换、调整时差、比较等操作。 3、计划任务与调度:学习如何使用日期时间类来实现计划任务和调度功能,例如定时执行任务、定期触发事件等。 4、日历...
新的日期和时间 API: 探讨 Java 8 中新增的日期和时间 API,以及如何使用这些 API 来处理日期、时间和时区等相关操作。 并发编程改进: 讨论 Java 8 中对并发编程的改进,包括 CompletableFuture、新的并发工具和...
属于时间转换工具类文件,其中包含格式转换,时区转换,时间计算等。
·00. 尚硅谷_Java8新特性_源码、课件 ·01. 尚硅谷_Java8新特性_简介 ·02. 尚硅谷_Java8新特性_为什么使用 Lambda 表达式... 新时间和日期 API-时间格式化与时区的处理 ·21. 尚硅谷_Java8新特性_重复注解与类型注解
文档涵盖了日期计算的基本概念,包括如何计算两个日期之间的差异,如何格式化日期以及如何处理时区。此外,文档还提供了各种日期计算任务的详细代码示例和实现细节。 文档还涵盖了高级主题,如如何处理闰年以及如何...
Java 8 是 Java 编程语言的一个重要版本,于2014年3月18日发布。它引入了众多新特性,包括 Lambda 表达式、...新的时间日期 API 更加易用和灵活,而且支持时区、精度等概念,非常适合处理跨时区应用程序的时间问题。
本文档的主要内容详细介绍的是java新日期结果与操作系统时间相差8小时处理解决方法。 最近有遇到java的时间不对的事件,现象:通过java语句获得系统时间,取得的时间总是比系统时间少8个小时,获得的总是...
5.5 带时区的时间 115 5.6 格式化和解析 119 5.7 与遗留代码互操作 122 练习 123 第6章并发增强 126 6.1 原子值 128 6.2 ConcurrentHashMap改进 131 6.2.1 更新值 132 6.2.2 批量数据操作 134 6.2.3 Set视图 136 6.3...
4、Date/Time API:Java 8中引入了新的Date/Time API,它提供了一组强大的日期和时间处理工具,包括时区和夏令时的支持。 5、Nashorn引擎:Java 8中引入了一个新的JavaScript引擎,称为Nashorn。它比原来的...
“经时/纬度到时区多边形映射”是硬编码的,我们希望这种变化很少,但是偏移量和夏令时转换日期等的更改(更常见)由系统库处理,因此这些是自动保持最新状态。 有时会有人用最新的时区多边形来更新文件,但这些...
java虚拟机多线程是使用线程轮流切换并分配处理执行时间的方式来实现的,在任何一个确定的时刻,一个处理器都只会执行一条线程中的指令。为了线程切换后能够恢复到正确的执行位置,每条线程都需要一套独立的线程...
此存储库包含用于在Python,Go和Java源代码中查找不确定性和错过的错误处理的模式。 规则引擎当前支持 。 要运行单个semgrep规则: $ semgrep -f rules/<type>/<lang>/<rule>.yml . 要运行所有semgrep规则: $ ...
13.4.6、设置时区 13.5、SQL标签库 13.5.1、<sql:setDataSource> 13.5.2、数据库操作标签 13.5.3、事务处理 13.6、XML标签库 13.6.1、XPath简介 13.6.2、标签 13.6.3、标签 13.6.4、标签 13.6.5...
13.4.6、设置时区 13.5、SQL标签库 13.5.1、<sql:setDataSource> 13.5.2、数据库操作标签 13.5.3、事务处理 13.6、XML标签库 13.6.1、XPath简介 13.6.2、标签 13.6.3、标签 13.6.4、标签 13.6.5...
受Java 8 DateTime API启发的AnyDate Swifty日期和时间API。 背景我认为日期和时间API...Java 8引入了全新的API,可以更高效,更轻松地处理日期和时间,即LocalDateTime,ZonedDateTime(JSR-310)。 主要思想是:Immu