`
flyfox1982
  • 浏览: 81482 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Java时区处理

 
阅读更多


通用协调时(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.util.TimeZone 的世界时区列表

    ### Java.util.TimeZone的世界时区列表解析 #### 一、概述 ...开发者可以根据实际需求选择合适的时区标识符,并利用Java提供的API进行时区相关的操作,从而确保应用程序能够正确处理不同地理位置的数据和事件。

    java的时区问题

    开发者也可以使用`java.time`包下的`ZoneId`和`ZonedDateTime`类,这是Java 8引入的新API,它们提供了更现代、更易用的时区处理方式。 压缩包文件`Time_Zones_XP`可能包含了与Windows XP时区相关的数据,尽管它对...

    Java时区处理之Date,Calendar,TimeZone,SimpleDateFormat的区别于用法

    Java中的时区处理涉及到几个关键类:Date, Calendar, TimeZone, 和 SimpleDateFormat。这些类在处理时间日期时扮演着不同的角色。 1. **Date类**:Date对象代表的是一个时间点,精确到毫秒。它不包含任何时区信息,...

    java时区问题

    Java时区问题是一个在开发过程中常见的困扰,尤其是在处理与日期时间相关的业务时。Java通过`java.util.TimeZone`类来管理全球不同的时区信息。时区是地球上的地理位置,它决定了本地时间与协调世界时间(UTC)之间...

    java国际化&时间处理

    Java国际化(Internationalization)与时间处理是开发过程中两个重要的领域,尤其对于构建全球化应用程序来说,理解和掌握这些概念至关重要。国际化允许软件适应不同地区的语言、文化习惯和格式,而时间处理则涉及...

    Java对世界不同时区timezone之间时间转换的处理方法

    Java对世界不同时区timezone之间时间转换的处理方法 Java对世界不同时区timezone之间时间转换的处理方法是指在不同的时区之间进行时间转换的操作。下面将对Java中关于时区的概念、时区之间的时间转换方法、Java中...

    Java处理时区的注意事项

    时区处理是这个话题的核心,因为它直接影响到时间的准确性。本文将深入探讨Java处理时区时的注意事项,以及如何有效地转换和处理时间。 首先,我们要理解Java中的时间类,如`Date`、`Calendar`和`SimpleDateFormat`...

    java Date 处理

    在Java编程语言中,日期和时间处理是常见的需求。`java.util.Date`类是Java早期用来表示日期和时间的基础类,但它的API设计并不理想,存在一些问题,比如不支持时区转换、线程不安全等。随着Java的发展,`java.time`...

    timezonetest:时区测试

    【Java 时区处理】 在 Java 中,处理时区通常涉及到 `java.time.ZoneId` 类,它可以代表世界上的任何时区。通过 `ZoneId.of()` 方法,我们可以用时区 ID(如 "America/New_York")获取 `ZoneId` 实例。在 `...

    java日常处理函数

    在Java编程语言中,日期和时间的处理是日常开发中不可或缺的部分。无论是处理数据库查询,还是构建复杂的业务逻辑,理解并熟练运用日期时间函数都至关重要。以下是对标题和描述中涉及的知识点的详细阐述。 首先,让...

    Java使用java.time包中的类来处理时间和时区JavaTimeExample

    Java使用java.time包中的类来处理时间和时区,示例代码展示了如何获取当前的瞬时点、系统默认时区的当前时间,以及如何创建指定时区的ZonedDateTime实例。

    java语言日期处理大全

    10. **时区处理**: 如果需要处理不同的时区,可以使用`ZoneId`和`ZonedDateTime`类,它们允许你在处理日期和时间时考虑到具体的地理位置和时区。 以上是Java语言处理日期的一些核心知识点,涵盖了从获取当前日期...

    Java-Java处理日期和时间教程

    5. **时区处理** - `ZoneId`用于表示不同的时区,`ZonedDateTime`结合了日期、时间和时区信息,能够准确地处理夏令时等复杂情况。 以下是一些常见的日期时间操作示例: ```java // 创建一个LocalDate对象 ...

    Java中对日期的常用处理(转)

    总结起来,Java中对日期的处理涵盖了多种场景,从基本的日期对象创建、格式化、比较,到复杂的日期时间计算和时区处理。`DateUtil.java`可能封装了这些常见操作,方便在项目中复用。了解并熟练掌握这些知识点,对于...

    java处理日期,data的格式化

    这个类在早期的Java版本中被广泛使用,但它有一些设计上的缺陷,比如不支持时区处理和不可变性。尽管如此,我们仍然需要了解它的基本用法: ```java import java.util.Date; Date now = new Date(); // 获取当前...

    WIN7 JAVA获取时间有问题

    综上所述,解决“WIN7 JAVA获取时间有问题”的关键在于检查Java时区设置、系统时间设置,以及确认Java运行环境与Windows 7的兼容性。如果问题依然存在,参考相关博客或其他在线资源,或者对`timezone.reg`文件进行...

    Java时区转换实例代码解析

    Java时区转换是Java开发中处理时间问题的关键部分,尤其在全球化应用中显得尤为重要。时区转换涉及到地球上的不同地理位置如何以不同的时间表示同一事件。本文将深入探讨时区的概念,时间的表示方式,时间戳的含义,...

    java中 new date() 打印出的时间与系统时间错了八小时的解决方法

    如果你的系统时区设置不正确,即使Java应用中正确处理了时区,系统显示的时间也会错误。你可以双击运行该 `.reg` 文件,将系统时区调整到正确的位置,例如“中国标准时间”。 总的来说,Java中`new Date()` 出现...

    java日期处理方法

    时区处理 在处理日期时,需要注意时区问题。`Date` 类内部使用的是UTC时间,但在输出时会根据当前系统的时区显示。 - **中国标准时间(CST)**:当在Java中输出日期时,默认使用的是系统的本地时区。例如,在中国...

    java时钟java。java

    9. **时区处理**:`ZoneId`用于表示特定地理区域的时区。`ZoneId.systemDefault()`返回系统默认的时区,`ZoneId.of("Asia/Shanghai")`则返回上海时区。 10. **日期时间的比较**:你可以使用`isBefore`, `isAfter`, ...

Global site tag (gtag.js) - Google Analytics