原帖地址: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
文件覆盖掉即可!
相关推荐
UTC比北京时间晚8小时,因此造成了时间差。 解决这个问题的方法有以下几种: 1. **设置JVM时区**: 在启动Java应用时,可以通过命令行参数 `-Duser.timezone=Asia/Shanghai` 来指定时区,将时区设置为亚洲上海,...
如果开发者期望获取的是协调世界时间(UTC),但程序却返回了一个比预期晚8小时的结果,可能是因为以下原因: 1. **时区设置不正确**:确保代码中设置的时区是正确的。例如,使用`TimeZone.setDefault(TimeZone....
本文将详细介绍Java中常用的时间处理方法,特别是基于`java.util.Date`、`java.text.SimpleDateFormat`、`java.util.Calendar`等类的操作,以及如何通过这些方法获取当前时间、计算日期差、获取周、月、年的第一天和...
这是因为Java标准库(JDK)在早期版本中并没有提供直接获取文件创建时间的方法。不过,从Java 7开始,通过NIO(New I/O)API可以实现这一功能。 #### 基本概念 1. **文件属性**:在计算机系统中,每个文件都有一个...
如果你所在的时区与UTC有八小时的差异,如在中国,那么不考虑时区的情况下,`new Date()` 打印出的时间就会比系统时间晚8小时。 解决这个问题的方法主要有两种: 1. **设置Java虚拟机(JVM)时区**: 在启动Java...
本文将详细介绍三种常用的获取系统时间的方法,并通过一个示例程序来具体演示这些方法的实际应用。 #### 方法一:使用`java.util.Date` ##### 代码实现 ```java Date date1 = new Date(); System.out.println(...
在Java 8中,开发人员经常遇到一个棘手的问题,即在使用MyBatis或任何其他JDBC驱动程序将`LocalDateTime`对象插入MySQL数据库时,时间会比预期少8小时。这个问题通常与时区设置有关,特别是涉及到数据库服务器和Java...
本文将详细介绍几种常用的Java日期时间获取方法,包括如何获取完整日期时间、仅获取时间部分(时分秒)、获取日期部分以及如何获取时间戳。此外,我们还将探讨如何使用自定义格式来获取日期时间。 #### 二、基本...
`java.text.DateFormat`则提供了一个方便的方法来格式化或解析日期/时间字符串。 #### 1. `java.util.Date`类的基本用法 - **创建Date对象**: - 可以通过`new Date()`构造方法创建一个`Date`对象,它表示的是创建...
虽然给定的代码片段展示了如何使用`java.util.Date`和`java.text.DateFormat`来获取和格式化系统时间,但在实际项目中,推荐使用`java.time`包中的类和方法。这些现代API不仅提供了更清晰的API设计,而且避免了许多...
`Calendar`类是比`Date`更灵活的时间/日期API,它可以对每个时间域(如年、月、日、小时等)单独进行修改。`getInstance()`方法返回一个根据本地环境设置的`Calendar`实例。需要注意的是,月份的索引从0开始,所以...
### JAVA获取系统时间知识点详解 在Java编程语言中,获取并格式化系统当前时间是一项非常基础且常用的操作。本文档将详细介绍如何利用Java内置类来实现这一功能,并深入探讨其中涉及的重要概念和技术细节。 #### ...
在这个类中,可能包含了各种方法来计算两个`java.util.Date`对象之间的时间差,包括年、月、日、时、分和秒。以下是一些关于如何在Java中处理此类问题的知识点: 1. **日期和时间类**:在Java中,`java.util.Date` ...
获取当天时间 可以方便地修改日期格式 获得当前日期与本周日相差的天数 获得本周一的日期 获得相应周的周六的日期
2. **时间差计算**:获取两个`Date`对象之间的时间差,并将其转换为所需的单位(如天、小时、分钟等)。 - **代码示例**: ```java long diff = d1.getTime() - d2.getTime(); // 获取毫秒数差值 long days = ...
### Java 获取时间方法详解 在Java中,获取系统当前时间是一项基本且常用的功能。通过`java.util.Calendar`类,我们可以方便地操作日期和时间。本文将详细介绍如何利用`Calendar`类来获取各种时间数据。 #### 导入...
在Java中,我们可以使用`java.io.File`类和`java.nio.file`包中的方法来获取这些信息。例如,可以遍历`File.listRoots()`返回的文件对象数组,获取每个分区的根目录,然后通过`Path`的`getFileSystem()`方法和`...
本篇文章将深入探讨如何使用Java反射来获取一个类的所有属性、方法,并处理List集合类。 首先,让我们了解Java反射的基础概念。在Java中,`java.lang.Class`类代表运行时的类信息。我们可以使用`Class.forName()`...
### Java 获取当前时间的程序知识点解析 #### 一、程序概述 本程序是用Java编写的,主要功能是通过按钮触发事件来获取并显示当前时间。时间分别显示为时、分、秒三个部分,并且各自在不同的`JLabel`控件上显示。 #...
测试时发现时间总是差8个小时,郁闷死。 立马想到时区不对,查看控制面板里时区设置(顺便BS一下win7,控制面板就不能学xp有个经典模式吗?郁闷死),发现时区设置正确,看来不是时区设置问题。 在win7下装JDK1.4和...