转载自: https://blog.csdn.net/liqinghuiyx/article/details/53333284

起因:在本地开发的WEB项目部署到Linux 下后,存入数据库的时间少了8个小时。

首先想到的肯定是时区问题

linux 下直接 执行 date 命令
Fri Nov 25 11:28:18 CST 2016

 

时间正常。然后简单java类,打印new Date时间

public class TestDate {
public static void main(String[] args) throws Exception {
System.out.println(new Date());
}
} ------运行结果 Fri Nov 25 11:29:31 CST 2016

 

确定linux,JDK 时间正常

但是Tomcat下 jsp打印时间,少了8个小时

<%@ include file="/WEB-INF/views/include/taglibs.jsp"%>
<%@ page language="java" pageEncoding="utf-8"%>
<jsp:useBean id="now" class="java.util.Date" />
${now}
Fri Nov 25 04:43:51 GMT 2016

 

明显jsp中打印的时间时区为GMT

CET,UTC,GMT,CST几种常见时间概述与关系

已经过以上测试,可能是Tomcat问题,那么修改tomcat 启动参数 
http://free.yes81.net/yes81/view-13576.html

按照以上方式修改后,tomcat内Date时间正常

过程中还发现一个问题我的系统中

/etc/sysconfig/clock 文件只有一行(文件说明

ZONE="Asia/Shanghai"

并没有这两行。

UTC=false
ARC=false

加上后,tomcat不修改时间也是正常。

后经过搜索返现一篇博文 
http://blog.tangjianwei.com/2009/06/04/the-problem-of-tomcat-timezone/ 
启动提到: 
tomcat读取的可能是硬件时间(BIOS时间) 
而 
UTC=false 
UTC – 指定BIOS中保存的时间是否是GMT/UTC时间,true表示BIOS里面保存的时间是UTC时间,false表示BIOS里面保存的时间是本地时间。

所以判断 可能为之前没有设置 /etc/sysconfig/clock 中 UTC=false,倒置tomcat读取时区出现问题倒置。

到此问题基本解决。

其他相关博文 
http://escode.blog.51cto.com/2025829/1147439

Linux java Tomcat 项目中 new Date 获取时间 8小时 时差的更多相关文章

  1. JAVA WEB项目中各种路径的获取

    JAVA WEB项目中各种路径的获取 标签: java webpath文件路径 2014-02-14 15:04 1746人阅读 评论(0) 收藏 举报  分类: JAVA开发(41)  1.可以在s ...

  2. linux 下用renameTo方法修改java web项目中文件夹名称问题

    经测试,在Linux环境中安装tomcat,然后启动其中的项目,在项目中使用java.io.File.renameTo(File dest)方法可行. 之前在本地运行代码可以修改,然后传到Linux服 ...

  3. java项目中的路径获取,request

    java web项目中获取项目根路径(tomcat可运行的web源码的路径)的方式: 分为两种情况: 情况一: 在eclipse.inde等开发工具中获取(注:如下代码所在的类必须是控制层所在包下的类 ...

  4. Linux下Tomcat项目启动报错

    Linux下Tomcat项目启动报错 org.springframework.beans.factory.CannotLoadBeanClassException: Error loading cla ...

  5. linux系统tomcat项目部署和tomcat访问日志

    一.只用ip地址访问 先把端口号改成80,然后用 <Host name="localhost"  appBase="webapps"    137     ...

  6. 对Java Web项目中路径的理解

    第一个:文件分隔符 坑比Window.window分隔符 用\;unix采用/.于是用File.separator来跨平台 请注意:这是文件路径.在File f = new File(“c:\\hah ...

  7. java web 项目中 简单定时器实现 Timer

    java web 项目中 简单定时器实现 Timer 标签: Java定时器 2016-01-14 17:28 7070人阅读 评论(0) 收藏 举报  分类: JAVA(24)  版权声明:本文为博 ...

  8. Java Web项目中连接Access数据库的配置方法

    本文是对前几天的"JDBC连接Access数据库的几种方式"这篇的升级.因为在做一些小项目的时候遇到的问题,因此才决定写这篇博客的.昨天已经将博客公布了.可是后来经过一些验证有点问 ...

  9. Java Web项目中缺少Java EE 6 Libraries怎么添加

    Java Web项目中缺少Java EE 6 Libraries怎么添加 具体步骤如下: 1.项目名称上点击鼠标右键,选择"Build Path-->Configure Build P ...

随机推荐

  1. EasyTouch5初步用法和其中的一个Bug

    (一)配置部分:一.将预设体拖入场景中,我用的是下图这个预设体,因为既有摇杆又有按钮嘛,两个正好都能学习到 二.改变摇杆和按钮的外观,如下图所示,可以看出这个插件是用UGUI写的,改图片只需要改Ima ...

  2. AI逻辑实现-取舍行为树还是状态机

    AI逻辑实现-选择行为树还是状态机? 关注AI的朋友可能会看过赖勇浩翻译的<有限状态机时代终结的10大理由> ,里面谈到了状态机的诸多弊端.同时在ppt(附上下载地址)中述说了行为树的诸多 ...

  3. 安装JDK出现问题 Error opening registry key'software\Javasoft\Java Runtime Environment'

    第一次安装JDK测试是否安装成功,打开cmd输入java -version 回车的时候出现如下错误: Error opening registry key'software\Javasoft\Java ...

  4. Neo4j简单的样例

    系统环境: Ubuntu 04.10 x64 一:安装 下载最新版:neo4j-community-2.2.3-unix.tar.gz  解压 cd neo4j-community-2.2.3/bin ...

  5. 【RF库Collections测试】Remove From Dictionary

    Name:Remove From DictionarySource:Collections <test library>Arguments:[ dictionary | *keys ]Re ...

  6. c++中new/operator new/placement new

    1. new/delete c++中的new(和对应的delete)是对堆内存进行申请和释放,且两个都不能被重载. 2. operator new/operator delete c++中如果想要实现 ...

  7. win7(64)使用vim碰到的奇怪问题

    一直使用conemu做控制台使用vim,操作系统win7 64位,一直用的很好. 今天使用gvim打开文件发现c:\program file(x86)\vim\_vimrc不生效,最奇怪的是,采用控制 ...

  8. 【linux系列】安装虚拟机时候的3中网络模式

    一.桥接 桥接网络是指本地物理网卡和虚拟网卡通过VMnet0虚拟交换机进行桥接,物理网卡和虚拟网卡在拓扑图上处于同等地位,那么物理网卡和虚拟网卡就相当于处于同一个网段,虚拟交换机就相当于一台实现网络中 ...

  9. vue中npm install 报错之一

    报错原因: 这是因为文件phantomjs-2.1.1-windows.zip过大,网络不好,容易下载失败 PhantomJS not found on PATH 解决方案一: 选择用cnpm ins ...

  10. (分解质因数模板)求 1~r 内与 n 互素的元素个数

    void Solve(LL n){ ///分解质因数保存结果于p p.clear(); ; i*i<=n; i++) ){ p.push_back(i); ) n/=i; } ) p.push_ ...