最近一个项目日期采用java8的LocalDate 和 LocalDateTime ,在本地windows 下运行,日期没有问题,但是当部署到linux 系统上时,相差8 小时,第一时间想到时linux 服务器日期和时间设置的问题。果断登陆linux 服务器查看。
Linux下查看/修改系统时区、时间
https://blog.51cto.com/royfans/5612595
date
date -R
timedatectl
方法 A
命令 : "tzselect"
方法 B 仅限于RedHat Linux 和 CentOS
命令 : "timeconfig"
方法 C 适用于Debian
命令 : "dpkg-reconfigure tzdata"
方法A: 复制
cp /usr/share/zoneinfo/$主时区/$次时区 /etc/localtime
例如:在设置中国时区使用亚洲/上海(+8)
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
方法B(推荐): 创建软连接
# 改为 CST shanghai 时间
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
# 改为UTC 时间,此方法可以解决linux 上 java 日期相差 8 小时问题
ln -sf /usr/share/zoneinfo/UTC /etc/localtime
方法C: 使用 timedatectl
timedatectl set-timezone Asia/Shanghai
命令 : "date"
2.设置时间和日期
例如:将系统日期设定成2009年11月3日的命令
命令 : "date -s 11/03/2009"
将系统时间设定成下午5点55分55秒的命令
命令 : "date -s 17:55:55"
命令 : "hwclock -w"
注意:
date 不加参数可以直接看到当前日期时间
cal 不加参数可以直接看到本月月历
hw代表硬件时间,sys代表系统时间
硬件时钟与系统时钟同步:
#hwclock --hctosys
或者
# clock --hctosys hc
系统时钟和硬件时钟同步:
#hwclock --systohc
或者
#clock --systohc