`
samjavaeye
  • 浏览: 193765 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Java时区问题的简单解决方法

    博客分类:
  • Java
阅读更多

【问题描述】

在Tomcat、Jetty等应用服务器上,经常会碰到控制台或者日志文件中,时间输出跟本机时间相差8小时的问题(中国是东8时区),其实是因为JVM中没有正确设置当地的时区,导致其使用缺省的0时区。这样new Date()出来的时间就跟本地差了8小时。

 

【解决方案一】(修改JVM启动参数)

在Tomcat或Jetty的命令启动行加上一个JVM参数:

-Duser.timezone=Asia/Shanghai

这样就不用修改代码了。

 

【解决方案二】(修改Jetty启动代码)

通常我在使用Jetty时,喜欢自己写一个application来启动,而不使用Jetty插件。这样的话,可以在这个application中,在启动server之前,加上一行代码:

System.setProperty("user.timezone","Asia/Shanghai");

这样也可以达到相同的目的,似乎更加方便一点。

 

------------------------ 分割线 -------------------------

朋友临时问到,来不及测试,先写上,以后有空再完善。

 

分享到:
评论

相关推荐

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

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

    java8.pdf详细说明java8的使用说明

    15. 使用IntelliJ IDEA解决Java 8的数据流问题(Solving Java 8 Data Flow Issues with IntelliJ IDEA): 该部分内容展示了如何在IntelliJ IDEA集成开发环境中解决与Java 8数据流相关的编程问题。 16. 在Nashorn中...

    JAVA核心技术讲解

    此外,Java 8还新增了Optional类,用于解决空指针异常问题。Optional作为一个容器对象,可以明确表示值存在或不存在,提高了代码的健壮性。 在多线程处理上,Java 8引入了默认的并发工具类,如Fork/Join框架,用于...

    java 实用的日历工具类 日历组件 直接就可以用 简单 功能强

    `java.time`包中的`Temporal`接口和`TemporalAdjusters`类提供了许多实用的方法,如获取下一个工作日、上一个特定日期等。此外,`Duration`和`Period`分别用于处理时间间隔和日期间隔,使得计算两个日期或时间之间的...

    java日历

    Java日历API是Java编程语言中用于处理日期和时间的核心组件。在Java 8之前,这个API虽然功能全面,但其设计被认为复杂且不易使用。...无论是进行基本的日期计算还是复杂的时区转换,新的API都能提供更好的解决方案。

    Java.docset.zip

    4. **Optional类**:为了解决null对象问题,Java 8引入了Optional类,它是一个容器对象,可能包含或者不包含非null值。这有助于避免空指针异常,提高代码的健壮性。 5. **日期和时间API的改进**:Joda-Time库的作者...

    KETTLE时间与系统时间不一致的解决方案

    KETTLE 时间与系统时间不一致的解决方案 ...KETTLE 时间与系统时间不一致的问题是非常常见的,但解决方案却非常简单。通过将 KETTLE 的时区设置为北京时间,可以确保数据的准确性和一致性,避免数据提取错误。

    Java Tutorials for JDK 8(html版)

    Java 8还引入了Optional类,用于解决null值引发的问题。Optional对象表示可能为null的值,鼓励开发者更清晰地表达代码的意图,避免空指针异常。 在并发编程方面,Fork/Join框架和Parallel Streams的结合,使得并行...

    java_time_api_Java8_java_

    这个API的设计目标是解决旧版`java.util.Date`和`java.util.Calendar`类在易用性和可读性上的不足,提供更强大且直观的时间操作接口。 一、`java.time`包概述 在Java 8中,主要的日期和时间类位于`java.time`包下...

    Java数据库操作组件1.1

    Java数据库操作组件1.1的出现,正是为了解决这个问题,它在JDBC的基础上进行了封装,提供了一套更高级、更易用的API。这个版本的组件可能增加了对复杂数据类型的处理能力,比如Blob(二进制大对象)、Clob(字符大...

    Java日期工具类,Java时间工具类,Java时间格式化

    这些新类提供了丰富的API,可以方便地进行日期时间的加减、比较、格式化等操作,同时也解决了线程安全问题。 例如,我们可以使用`LocalDateTime.now()`获取当前日期和时间,然后使用`DateTimeFormatter`进行格式化...

    mysql-connector-java-8.zip

    `serverTimezone=UTC`参数是解决时区问题的关键,MySQL 8默认使用的是UTC时间,如果不设置,可能会导致日期和时间的处理出错。 3. **用户和密码**:在`getConnection()`方法中,还需要提供数据库用户名和密码: ``...

    java 这一天是星期几

    Java提供了多种方法来解决这个问题。以下是一些关键的知识点: 1. **Java日期时间API**:Java 8之前,我们主要依赖`java.util.Date`和`java.text.SimpleDateFormat`类来处理日期和时间。然而,这些API的设计并不...

    4个小程序java制作

    【华容道游戏】 华容道游戏是一款基于滑块谜题的经典智力游戏,源自中国的三国时期,玩家需要通过移动棋盘上的各种...通过实践这些项目,开发者可以提升编程技能,加深对Java语言的理解,并且能锻炼解决问题的能力。

    JAVA时间通用集合类

    无论是简单的日期操作还是复杂的时区转换,都能在`java.time`包中找到对应的解决方案。结合官方博客中的资料和`ToolKit.java`的实践,开发者可以深入理解并灵活运用这些时间通用集合类,提升自己的编程技能。

    jdk1.8——Java开发环境(最常用)

    Java 8引入了`Optional`类,用于解决null安全问题。`Optional`可以防止NullPointerException的发生,通过链式调用,可以更优雅地处理可能为null的对象: ```java Optional<String> optionalName = Optional....

    Java工具类项目,Java-Commons.zip

    14. **缓存机制**:提供简单的内存缓存或基于第三方库如Guava的缓存解决方案。 15. **枚举与常量**:统一管理和使用全局常量,或者提供枚举的操作工具。 通过以上知识点的介绍,我们可以看到Java-Commons项目旨在...

    简单窗口化万年历

    在Java编程领域,开发一个简单窗口化的万年历是一个常见的练习项目,旨在帮助开发者熟悉GUI(图形用户界面)设计和日期处理。...通过这个项目,开发者可以加深对Java GUI编程的理解,提高解决问题的能力。

    最新Java 8 API

    4. **Optional类**:Optional是一个容器类,用于解决null引用问题,防止空指针异常。Optional对象要么包含一个非null值,要么为空。通过Optional,开发者可以更清晰地表达代码意图,避免潜在的错误。 5. **方法和...

Global site tag (gtag.js) - Google Analytics