linux修改服务器时区为上海

同事用默认官方的镜像给开发安装好系统之,开发同事发现时区是utc

需要修改成cst 

操作如下

tzselect<<EOF

5



9



1



1



EOF



yes |cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

执行过程大致如下

linux修改服务器时区为上海

linux修改服务器时区为上海

 

就是选择了Asia > China  > Beijing

 

 

但是,有的时候通过以上步骤还是解决不了java程序时区问题,java程序读取时间还是不对,甚至System.getProperty("user.timezone")都读不到时区信息,只有System.out.println(java.util.TimeZone.getDefault().getID())可以读到,并且读到的是系统在修改时区的时区信息。主要原因是我们在安装JDK之后发现时间不对才去修改的系统时区,此时jdk已经默认使用系统修改之前的那个时区,已经改不回来了,删掉jdk重装也没用。有两种方法解决这个问题:

tomcat 时区显示不对,重启也没有效

 

linux修改服务器时区为上海

1、使用-Duser.timezone=GMT+08来指定时区;

2、就是修改/etc/profile文件,在文件的末尾添加 export TZ='Asia/Shanghai',然后使用命令source /etc/profile使其生效即可。我喜欢在tomcat 启动脚本最前面再添加source /etc/profile保险一下

linux修改服务器时区为上海

 

 

ok了 启动正常。