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的时间不对的事件,现象:通过java语句获得系统时间,取得的时间总是比系统时间少8个小时,获得的总是...
然而,标题"java 获取系统时间错误,少了8小时"表明开发者在尝试获取系统时间时遇到了一个时区问题。这通常与Java中的时区设置和夏令时(Daylight Saving Time, DST)处理有关。 Java的`Date`类在默认情况下会按照...
### Java中获取系统时间 #### 知识点概述 在Java编程中,获取系统时间是一项基本而重要的功能,常用于日期处理、定时任务、日志记录等场景。本文将详细介绍三种常用的获取系统时间的方法,并通过一个示例程序来...
测试时发现时间总是差8个小时,郁闷死。 立马想到时区不对,查看控制面板里时区设置(顺便BS一下win7,控制面板就不能学xp有个经典模式吗?郁闷死),发现时区设置正确,看来不是时区设置问题。 在win7下装JDK1.4和...
### Java 获取文件创建时间 在Java中,获取文件的创建时间并不像获取文件的最后修改时间那样简单直接。这是因为Java标准库(JDK)在早期版本中并没有提供直接获取文件创建时间的方法。不过,从Java 7开始,通过NIO...
然而,有时候开发者可能会遇到这样一个问题:使用 `new Date()` 输出的时间与系统的实际时间相差了八个小时。这种情况通常是由时区(TimeZone)设置不正确所引起的。本文将深入探讨这个问题,并提供解决方案。 首先...
java 获取标准北京时间 标准北京时间 北京时间 网络时间 internet时间
### JAVA获取系统时间知识点详解 在Java编程语言中,获取并格式化系统当前时间是一项非常基础且常用的操作。本文档将详细介绍如何利用Java内置类来实现这一功能,并深入探讨其中涉及的重要概念和技术细节。 #### ...
从给定的文件信息来看,主要聚焦于“java系统获取时间小类”,这里我们将深入探讨Java中用于获取系统时间的相关类及其方法,帮助读者更好地理解和应用这些知识点。 ### Java系统时间获取:基础知识与核心类 #### 1...
### Java 获取日期时间详解 #### 一、概述 在Java编程中,处理日期与时间是一项常见且重要的任务。本文将详细介绍几种常用的Java日期时间获取方法,包括如何获取完整日期时间、仅获取时间部分(时分秒)、获取日期...
本文将详细介绍Java中常用的时间处理方法,特别是基于`java.util.Date`、`java.text.SimpleDateFormat`、`java.util.Calendar`等类的操作,以及如何通过这些方法获取当前时间、计算日期差、获取周、月、年的第一天和...
KETTLE 时间与系统时间不一致的解决方案 KETTLE 是一种数据集成工具,它能够从各种数据源中提取数据,并将其转换为目标系统所需的格式。在使用 KETTLE 时,可能会遇到时间与系统时间不一致的问题,本文将介绍该问题...
java 获取标准格林尼治时 标准格林尼治时间 标准时间
网上排除节假日、周六周日 获取相差时间 分为四种情况, 精确到天 此工具类在此基础之上进行优化, 分为俩种情况, 精确到分钟,保留俩位小数 (精确到秒 需自己加工下) 入口方法: getWorkHours
Java 获取 List 中两元素时间差 Java 中获取 List 中两元素时间差是指在 List 集合中计算每个元素之间的时间差异。下面是相关知识点的详细解释: List 数据结构 List 是一种常见的数据结构,在 Java 中有多种实现...
总之,`GregorianCalendar`是Java中处理日期和时间的强大工具,不仅可以获取系统当前时间,还能进行各种日期和时间的计算与操作。通过熟练掌握`GregorianCalendar`的使用,开发者可以更好地处理程序中的日期和时间...
java8 localtime 毫秒与时间互转 获取前一天六点钟时间
8. **系统时间同步**:操作系统通常也提供自动同步时间的功能,用户可以在系统设置中开启NTP同步,选择可信的时间服务器进行定时校准。对于频繁参与网络活动的用户,定期检查和同步系统时间是必要的。 总之,获取...
在Java编程语言中,获取操作系统的信息对于环境配置、程序调试及兼容性测试等方面具有重要意义。本文将基于给定的文件信息,深入探讨如何利用Java来获取操作系统的关键信息,并对每一条命令及其返回值进行详细解释。...