`
squall140
  • 浏览: 147695 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论

Java获取时间比实际时间晚8个小时的解决方法

 
阅读更多
平常只用日期,很少精确到时间,今天偶尔用到了时间,发现小时比本机时间小了8个小时,操作系统是WIN7。时区设置也是+8北京。在网上搜索到可能是注册表坏了,下了一个XP的注册表导入后恢复正常了。

原帖地址:http://huiy.javaeye.com/blog/200512

问题描述:Window XP 系统自己能够读取正确的时间,但是用java获取的时间始终与北京时间相差八个小时。
原因分析:
1.系统本身时区设置错误(可以排除,上面已经交代系统能够获取正确时间
2.注册表出现异常。
注册表对应项:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones
解决之道:
1.备份Time Zones这一项
2.从正常的并且是相同系统的机器中导出该项,然后倒入到自己机器中

上招不行,还有一招!

1.找到jdk 的安装路径 找到 如:
a) C:\Program Files\Java\jdk1.5.0\jre\lib\zi\Etc;
b) C:\Program Files\Java\jdk1.5.0\jre\lib\zi;
c) C:\Program Files\Java\jre1.5.0\lib\zi\Etc;
d) C:\Program Files\Java\jre1.5.0\lib\zi;
这四个文件路径下找到 GMT 文件 进行删除(注意:在删除之前将其文件备份一下,以防万一);在 C:\Program Files\Java\jdk1.5.0\jre\lib\zi\Etc 下找到 GMT-8 文件复制一份 重命名为 CMT ,将其原来 的 GMT 文件覆盖掉即可!

分享到:
评论

相关推荐

    java获取系统时间与实际相差8小时的解决方法

    UTC比北京时间晚8小时,因此造成了时间差。 解决这个问题的方法有以下几种: 1. **设置JVM时区**: 在启动Java应用时,可以通过命令行参数 `-Duser.timezone=Asia/Shanghai` 来指定时区,将时区设置为亚洲上海,...

    java 获取系统时间错误,少了8小时

    如果开发者期望获取的是协调世界时间(UTC),但程序却返回了一个比预期晚8小时的结果,可能是因为以下原因: 1. **时区设置不正确**:确保代码中设置的时区是正确的。例如,使用`TimeZone.setDefault(TimeZone....

    java的常用的获取时间的方法

    本文将详细介绍Java中常用的时间处理方法,特别是基于`java.util.Date`、`java.text.SimpleDateFormat`、`java.util.Calendar`等类的操作,以及如何通过这些方法获取当前时间、计算日期差、获取周、月、年的第一天和...

    java获取文件创建时间

    这是因为Java标准库(JDK)在早期版本中并没有提供直接获取文件创建时间的方法。不过,从Java 7开始,通过NIO(New I/O)API可以实现这一功能。 #### 基本概念 1. **文件属性**:在计算机系统中,每个文件都有一个...

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

    如果你所在的时区与UTC有八小时的差异,如在中国,那么不考虑时区的情况下,`new Date()` 打印出的时间就会比系统时间晚8小时。 解决这个问题的方法主要有两种: 1. **设置Java虚拟机(JVM)时区**: 在启动Java...

    java中获取系统时间

    本文将详细介绍三种常用的获取系统时间的方法,并通过一个示例程序来具体演示这些方法的实际应用。 #### 方法一:使用`java.util.Date` ##### 代码实现 ```java Date date1 = new Date(); System.out.println(...

    JAVA8时间插入mysql少了8小时的解决办法(csdn)————程序.pdf

    在Java 8中,开发人员经常遇到一个棘手的问题,即在使用MyBatis或任何其他JDBC驱动程序将`LocalDateTime`对象插入MySQL数据库时,时间会比预期少8小时。这个问题通常与时区设置有关,特别是涉及到数据库服务器和Java...

    Java 获取日期时间代码

    本文将详细介绍几种常用的Java日期时间获取方法,包括如何获取完整日期时间、仅获取时间部分(时分秒)、获取日期部分以及如何获取时间戳。此外,我们还将探讨如何使用自定义格式来获取日期时间。 #### 二、基本...

    java 获取当前时间

    `java.text.DateFormat`则提供了一个方便的方法来格式化或解析日期/时间字符串。 #### 1. `java.util.Date`类的基本用法 - **创建Date对象**: - 可以通过`new Date()`构造方法创建一个`Date`对象,它表示的是创建...

    java系统获取时间小类

    虽然给定的代码片段展示了如何使用`java.util.Date`和`java.text.DateFormat`来获取和格式化系统时间,但在实际项目中,推荐使用`java.time`包中的类和方法。这些现代API不仅提供了更清晰的API设计,而且避免了许多...

    Java获取系统时间的四种方法

    `Calendar`类是比`Date`更灵活的时间/日期API,它可以对每个时间域(如年、月、日、小时等)单独进行修改。`getInstance()`方法返回一个根据本地环境设置的`Calendar`实例。需要注意的是,月份的索引从0开始,所以...

    JAVA获取系统时间.txt

    ### JAVA获取系统时间知识点详解 在Java编程语言中,获取并格式化系统当前时间是一项非常基础且常用的操作。本文档将详细介绍如何利用Java内置类来实现这一功能,并深入探讨其中涉及的重要概念和技术细节。 #### ...

    java获取两个时间的相隔时间,包括年、月、日、时、分、秒

    在这个类中,可能包含了各种方法来计算两个`java.util.Date`对象之间的时间差,包括年、月、日、时、分和秒。以下是一些关于如何在Java中处理此类问题的知识点: 1. **日期和时间类**:在Java中,`java.util.Date` ...

    Java获取各种常用时间方法

    获取当天时间 可以方便地修改日期格式 获得当前日期与本周日相差的天数 获得本周一的日期 获得相应周的周六的日期

    java判断时间大小

    2. **时间差计算**:获取两个`Date`对象之间的时间差,并将其转换为所需的单位(如天、小时、分钟等)。 - **代码示例**: ```java long diff = d1.getTime() - d2.getTime(); // 获取毫秒数差值 long days = ...

    java 获得时间方法

    ### Java 获取时间方法详解 在Java中,获取系统当前时间是一项基本且常用的功能。通过`java.util.Calendar`类,我们可以方便地操作日期和时间。本文将详细介绍如何利用`Calendar`类来获取各种时间数据。 #### 导入...

    java-getDisk.rar_Java 获取主板ID_java获取电脑ID

    在Java中,我们可以使用`java.io.File`类和`java.nio.file`包中的方法来获取这些信息。例如,可以遍历`File.listRoots()`返回的文件对象数组,获取每个分区的根目录,然后通过`Path`的`getFileSystem()`方法和`...

    java反射,获取所有属性、方法以及List集合类

    本篇文章将深入探讨如何使用Java反射来获取一个类的所有属性、方法,并处理List集合类。 首先,让我们了解Java反射的基础概念。在Java中,`java.lang.Class`类代表运行时的类信息。我们可以使用`Class.forName()`...

    java获取当前时间的程序

    ### Java 获取当前时间的程序知识点解析 #### 一、程序概述 本程序是用Java编写的,主要功能是通过按钮触发事件来获取并显示当前时间。时间分别显示为时、分、秒三个部分,并且各自在不同的`JLabel`控件上显示。 #...

    win7系统下java相差8小时解决(经典小问题)

    测试时发现时间总是差8个小时,郁闷死。 立马想到时区不对,查看控制面板里时区设置(顺便BS一下win7,控制面板就不能学xp有个经典模式吗?郁闷死),发现时区设置正确,看来不是时区设置问题。 在win7下装JDK1.4和...

Global site tag (gtag.js) - Google Analytics