Java获取时间与系统时间相差8小时终极解决方案
一、在取日期以前设置一下时区(日期格式化前加上下面的代码段)
TimeZone tz = TimeZone.getTimeZone(“ETC/GMT-8″);
TimeZone.setDefault(tz);
或者(可以测试一下)
TimeZone tz = TimeZone.getTimeZone("Asia/Shanghai");
例子:
Date date = new Date();
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
sdf.setTimeZone(TimeZone.getTimeZone("Asia/Shanghai"));
System.out.println(sdf.format(date ));
二、格式化日期的时候,将当前日期取得的毫秒数加8小时的毫秒数
//下面是把时间加8小时的方法,我是把方法写在了一个MyDate类里面, public static String formatTimeEight(String time) throws Exception { Date d = null; SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); d = sd.parse(time); //把当前得到的时间用date.getTime()的方法写成时间戳的形式,再加上8小时对应的毫秒数 long rightTime = (long) (d.getTime() + 8 * 60 * 60 * 1000); String newtime = sd.format(rightTime);//把得到的新的时间戳再次格式化成时间的格式 return newtime; }
三、打开注册表编辑器,给[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones\China Standard Time]增加"MapID"="-1,75"。
四、修改启动文件(tomcat服务器)
在startup.bat文件中
修改JAVA_OPTS变量,在后面加上-Duser.timezone=GMT+08。
个人觉得使用第四种方法比较好,不用修改代码,也不用改变测试的系统环境。采用了第四种方法,问题得到解决。
以上解决方法仅供参考
http://blog.sina.com.cn/s/blog_6a292d8e0101jc0h.html
相关推荐
然而,有时我们可能会遇到一个常见问题,即从Java程序中获取到的时间与实际时间相差8小时,这主要是由于时区设置不正确导致的。这个问题在跨时区开发和运行应用时尤为突出。 首先,我们需要理解Java中的日期和时间...
然而,标题"java 获取系统时间错误,少了8小时"表明开发者在尝试获取系统时间时遇到了一个时区问题。这通常与Java中的时区设置和夏令时(Daylight Saving Time, DST)处理有关。 Java的`Date`类在默认情况下会按照...
测试时发现时间总是差8个小时,郁闷死。 立马想到时区不对,查看控制面板里时区设置(顺便BS一下win7,控制面板就不能学xp有个经典模式吗?郁闷死),发现时区设置正确,看来不是时区设置问题。 在win7下装JDK1.4和...
### Java中获取系统时间 #### 知识点概述 在Java编程中,获取系统时间是一项基本而重要的功能,常用于日期处理、定时任务、日志记录等场景。本文将详细介绍三种常用的获取系统时间的方法,并通过一个示例程序来...
总的来说,`java.util.Date` 类在获取和表示当前系统时间上是一个基础且实用的工具,虽然在新的Java版本中有了更好的替代品,但理解其工作原理对于理解Java的日期和时间处理至关重要。在实际编程中,根据项目需求和...
### 使用Java获取网络时间 在开发过程中,为了确保时间数据的准确性与同步性,开发者有时会需要从网络上获取标准时间。例如,在某些应用中,为了避免因本地系统时间设置错误而导致的问题,可以通过网络来获取一个...
### Java 获取文件创建时间 在Java中,获取文件的创建时间并不像获取文件的最后修改时间那样简单直接。这是因为Java标准库(JDK)在早期版本中并没有提供直接获取文件创建时间的方法。不过,从Java 7开始,通过NIO...
然而,有时候开发者可能会遇到这样一个问题:使用 `new Date()` 输出的时间与系统的实际时间相差了八个小时。这种情况通常是由时区(TimeZone)设置不正确所引起的。本文将深入探讨这个问题,并提供解决方案。 首先...
从给定的文件信息来看,主要聚焦于“java系统获取时间小类”,这里我们将深入探讨Java中用于获取系统时间的相关类及其方法,帮助读者更好地理解和应用这些知识点。 ### Java系统时间获取:基础知识与核心类 #### 1...
### Java 获取日期时间详解 #### 一、概述 在Java编程中,处理日期与时间是一项常见且重要的任务。本文将详细介绍几种常用的Java日期时间获取方法,包括如何获取完整日期时间、仅获取时间部分(时分秒)、获取日期...
本文将详细介绍Java中常用的时间处理方法,特别是基于`java.util.Date`、`java.text.SimpleDateFormat`、`java.util.Calendar`等类的操作,以及如何通过这些方法获取当前时间、计算日期差、获取周、月、年的第一天和...
KETTLE 时间与系统时间不一致的解决方案 KETTLE 是一种数据集成工具,它能够从各种数据源中提取数据,并将其转换为目标系统所需的格式。在使用 KETTLE 时,可能会遇到时间与系统时间不一致的问题,本文将介绍该问题...
在Java和JSP编程中,获取系统时间是一项基础但至关重要的任务。这涉及到日期和时间处理,对于构建动态网页和应用程序来说是常见的需求。本文将深入探讨如何在Java和JSP中有效地获取系统时间。 首先,Java提供了`...
总之,`GregorianCalendar`是Java中处理日期和时间的强大工具,不仅可以获取系统当前时间,还能进行各种日期和时间的计算与操作。通过熟练掌握`GregorianCalendar`的使用,开发者可以更好地处理程序中的日期和时间...
在Java编程语言中,时间的设置与获取是常见的任务,涉及到日期、时间、时区的处理,以及相关的API使用。本文将深入探讨Java中如何进行时间的设置与获取。 首先,Java提供`java.util.Date`类来表示日期和时间。但自...
java8 localtime 毫秒与时间互转 获取前一天六点钟时间
3. **使用Java 8的日期时间API**:如果你使用的是Java 8或更高版本,可以利用 `java.time` API 来进行更直观的操作。例如,创建两个 `LocalDateTime` 对象,然后使用 `ChronoUnit` 来计算差值: ```java ...
本文将详细介绍如何在Java中获取系统当前时间,并通过不同的类来展示获取时间的不同方式。 #### 使用`java.util.Date` `java.util.Date`类可以直接用来获取当前的时间戳。它提供了获取当前日期和时间的功能,但并...
java 1. 使用wmic相关命令获取windows硬件相关信息。 2. 使用shell相关的dmidecode/fdisk/ifconfig命令获取Linux硬件和系统相关信息
通过 Java,我们可以获取当前系统时间,并将其格式化为各种时间格式,这些格式化后的时间数据可以应用于 GUI 编程和数据库编程等领域。 在 Java 中,有多种方式可以获取当前时间,这里我们介绍两种常见的方法:使用...