linux系统下java程序获取的时间与系统时间不一致

linux系统下java程序获取的时间与系统时间不一致,第1张

造成这种问题的原因是:你的操作系统时区跟你JVM的时区不一致。

你的操作系统应该是中国的时区,而JVM的时区不一定是中国时区,你在应用服务器的Java虚拟机添加如下配置: -Dfileencoding=UTF8 -Dusertimezone=GMT+08

在一个精简的Linux安装上jre,所有的java程序获取的时间都不是系统时间。java程序获取的时间都是GMT时间,而系统是北京时间,是GMT+8,刚好相差8小时。只有两种方法可以解决 :

1、在程序中使用java的函数设定时区。

2、在启动java程序时加参数-Dusertimezone=GMT+8

jre是从/etc/sysconfig/clock这个文件中 获取时区信息的。

附clock文件内容:

ZONE="Asia/Shanghai"

UTC=false

ARC=false

ZONE -- 时区

UTC -- 表明时钟设置为UTC。

ARC -- 仅用于alpha表明使用ARC。      

var d, s = "";

var c = ":";

d = new Date();

s += dgetYear()+ "/";

s += (dgetMonth() + 1) + "/";

s += dgetDate() + " ";

s += dgetHours() + c;

s += dgetMinutes() + c;

s += dgetSeconds() + c;

s += dgetMilliseconds();

alert(s);

一楼二楼好像没明白楼主的意思吧,楼主问的应该是一个知识点而已,3楼的想法有点欠缺,还没明白spring框架的真髓。4楼说到点上了,用spring Quartz 定时很简单的。例子还有资料我已经给你发过去了,请查收。

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » linux系统下java程序获取的时间与系统时间不一致

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情