造成这种问题的原因是:你的操作系统时区跟你JVM的时区不一致。 你的操作系统应该是中国的时区,而JVM的时区不一定是中国时区,你在应用服务器的Java虚拟机添加如下配置: -Dfile.encoding=UTF8 -Duser.timezone=GMT+08 在一个精简的Linux安装上jre,所有的java程序获取的时间都不是系统时间。java程序获取的时间都是GMT时间,而系统是北京时间,是GMT+8,刚好相差8小时。只有两种方法可以解决 : 1、在程序中使用java的函数设定时区。 2、在启动java程序时加参数-Duser.timezone=GMT+8 jre是从/etc/sysconfig/clock这个文件中 获取时区信息的。 附clock文件内容: ZONE="Asia/Shanghai" UTC=false ARC=false ZONE -- 时区 UTC -- 表明时钟设置为UTC。 ARC -- 仅用于alpha表明使用ARC。
linux系统下java程序获取的时间与系统时间不一致
猜你喜欢
转载自fengbin2005.iteye.com/blog/2316760
今日推荐
周排行