`

解决java获取系统时间差8个小时

    博客分类:
  • JAVA
阅读更多

在WIN7下发现一些Java的程序获取系统时间比真实时间差了8个小时,怀疑是Java程序沿用了低版本的JDK,获取时间时取的GSM 0时区,而中国是GSM +8,所以查了8个小时,解决办法如下:

 

修改如下:

 

Date d = new Date();
  SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd  kk:mm:ss ");
  sdf.setTimeZone(TimeZone.getTimeZone("Asia/Shanghai"));
  System.out.println(sdf.format(d));

 

  或者:

 Calendar now = Calendar.getInstance();
    now.setTimeZone(TimeZone.getTimeZone("Asia/Shanghai"));//important
    System.out.println(now.get(Calendar.HOUR_OF_DAY));
    System.out.println(now.get(Calendar.MINUTE));
    System.out.println(now.get(Calendar.SECOND));

    

 

 

这样就可以了。

关键就是设置TimeZone: TimeZone.getTimeZone("Asia/Shanghai")

分享到:
评论
1 楼 793059909 2013-09-23  
TimeZone.getTimeZone("Asia/Shanghai")

相关推荐

    java得到的时间与系统时间差N个小时的解决办法.doc

    解决 Java 获取时间与系统时间差 N 个小时的问题 在 Java 中获取时间时,可能会出现与系统时间相差 N 个小时的情况。这种情况通常是由于 Java 的时区设置不正确所致。下面将详细介绍解决该问题的方法。 时区设置是...

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

    在Java编程中,获取系统时间的操作通常是通过`java.util.Date`类或`java.time`包下的类来实现的。然而,有时我们可能会遇到一个常见问题,即从Java程序中获取到的时间与实际时间相差8小时,这主要是由于时区设置不...

    Java语句获取系统时间与实际时间相差8小时的解决办法.doc

    本文档的主要内容详细介绍的是java新日期结果与操作系统时间相差8小时处理解决方法。   最近有遇到java的时间不对的事件,现象:通过java语句获得系统时间,取得的时间总是比系统时间少8个小时,获得的总是...

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

    果然,输出时区为"GMT",时间差8小时。那就说明是jdk1.5在win7下取不到正确的时区。 什么原因呢,为了验证我的假设,又下了最新的jdk1.6,后台打印输出正常。 问题找到了,接下来就要解决。为什么xp下能取到时区儿而...

    解决win7下使用jdk1.5,时间差8小时的问题 eclipse

    标题中的问题涉及到Windows 7操作系统...通过上述步骤,应该能有效地解决在Windows 7下使用JDK 1.5时遇到的时间差8小时的问题。如果问题依然存在,可能需要进一步排查其他可能的原因,如网络同步设置、系统服务状态等。

    JAVA new Date()或Calendar.getInstance().getTime()得到的时间不对

    在Java编程中,`new Date()` 和 `Calendar.getInstance().getTime()` 都是获取当前系统时间的方法,但有时可能会出现获取到的时间与预期不符的情况。这种问题通常与时区设置、系统时间、Java运行环境以及代码逻辑...

    由夏令时间所引起的时间差的解决方法

    ### 由夏令时间所引起的时间差的解决方法 在软件开发过程中,处理不同时区的时间数据时常常会遇到各种问题,尤其是涉及到夏令时调整的情况。本文将深入探讨由夏令时间变化所引起的时间差问题及其解决方案,并通过...

    关于tomcat的8小时时间差.docx

    标题中的“关于tomcat的8小时时间差”指的是在使用Apache Tomcat服务器处理时间相关问题时,遇到的一个常见困扰:时间显示比实际慢了8小时。这个问题通常涉及到时区设置和Java运行时环境(JRE)的配置。 描述中虽然...

    关于tomcat的8小时时间差.pdf

    标题中的“关于tomcat的8小时时间差”问题主要涉及到Java和Tomcat服务器在处理时间时的时区设置。在描述中,开发者遇到了一个后台取数据时遇到的时间显示不准确的问题,具体表现为本地时间与实际时间相差8小时,即...

    徐葳《40小时掌握java语言之08IO流》内部教材

    System类还可以用来获取系统属性,比如java.version或os.name等。 2. Runtime类与系统交互 Runtime类是Java中用于与系统底层交互的类,它同样包含许多静态方法。由于Runtime类的实例不能被创建,它采用单例模式设计...

    java求日期差

    - `getInstance()` 方法获取当前系统时间的`Calendar`实例。 ##### 2. 设置指定年份 ```java time.set(Calendar.YEAR, year); ``` **解释:** - 使用`set()`方法设置指定年份。 ##### 3. 获取某个月的最大天数 ...

    java的时间的资料

    - `Duration`表示两个时间点之间的时间差,以秒和纳秒为单位。 - `Period`表示两个日期之间的日期差,如年、月、日。 5. **`java.time.format.DateTimeFormatter`**: 代替`SimpleDateFormat`,`DateTimeFormatter...

    java日期转化操作大全.pdf

    此外,内容中提到的System.currentTimeMillis()是一个静态方法,返回当前时间与1970年1月1日00:00:00 GMT之间的时间差,以毫秒为单位。这个方法常用于获取当前时间戳或者作为基准时间点使用。 最后,内容还提供了一...

    格林威治时间转换为北京时间

    5. **日期和时间API**:在编程中,通常会使用系统提供的日期和时间API来进行时间操作,如获取当前时间、设置时区、进行时间转换等。对于Windows平台,可以使用`GetSystemTimeAsFileTime`和`FileTimeToSystemTime`等...

    java日历

    `getInstance()`会根据系统默认的区域设置返回一个`Calendar`实例,这个实例可以代表当前的日期和时间。 日历的字段包括年(YEAR)、月(MONTH)、日(DATE)、小时(HOUR_OF_DAY)、分钟(MINUTE)、秒(SECOND)...

    28个java常用的工具类源码

    28. **时间周期计算工具类**:如TimePeriodUtils,可以计算两个日期之间的天数、小时数等时间差。 以上工具类在实际开发中都有着广泛的应用,通过学习和理解这些源码,不仅可以提高编程效率,还能加深对Java语言...

    window XP系统 恢复jvm默认时区为东八区

    在Windows XP系统中,Java虚拟机(JVM)是用来运行Java程序的环境,它与操作系统进行交互以获取系统时间。然而,在某些情况下,比如安装了特定的微软安全补丁后,JVM可能会显示非本地时间,而是显示为格林尼治标准...

    项目经验总结 - 2.pdf

    本文主要讨论了一个IT项目经验,涉及影像服务系统的升级与内存泄漏问题的分析和解决。项目始于对旧有影像系统的改造,旧系统采用C++开发,存在总行控制能力弱、分行存储能力不足以及架构扩展性差等问题。为适应业务...

    一个简单的模拟时钟.rar

    在计算机中,这通常涉及到对系统时间的访问。在Java或C#等语言中,可以使用`System.currentTimeMillis()`或`DateTime.Now`来获取当前时间。然后,通过计算与上一次更新的时间差,更新时钟的显示。 2. **多线程**:...

    library-2.0.4.zip

    1. **时间处理**:如何使用Java或Kotlin的日期时间API(如Java 8的`java.time`或Kotlin的`kotlin.datetime`)来计算相对时间差。 2. **Android UI更新**:理解如何在Android应用中使用`Handler`、`Runnable`或`...

Global site tag (gtag.js) - Google Analytics