Centos7 修改硬件时间和系统时间

一、废哔哔

声明下,我是个java程序员。昨天找运维要来台服务器部署服务,然后在这台服务器上使用 date 命令,可以确定是东八区,然后查看时区,也确定是东八区上海时间。但是log4f的时间是和系统的时间不对应。然后在程序里输出了new Date(),显示的时间和log4j一致,但是和系统时间不一致,这就导致订单时间不对应,对比时间的时会出现误差,许多订单显示超时,实际没有超时。

 

当时排查过问题,可以很明确的排除时区,jvmtomcat的问题,当时一位老同志就让我看看是否是系统时间和硬件时间不一致,一查看还真是,log4jnew Date()取得是硬件时间

二、解决过程

要是用root

  • 查看系统时间

[root@localhost ~]# date

Tue Jun 13 10:20:13 CST 2017

 


  • 查看硬件时间

[root@localhost ~]# hwclock --show

Tue 13 Jun 2017 02:11:12 AM CST  -0.848845 seconds

 

可以看出系统时间比硬件时间快,系统时间是准确的


假如系统时间和硬件时间都不准确

  • 更新系统年月日

[root@localhost ~]# timedatectl set-time 2017-06-13

 


  • 更新系统时分秒

[root@localhost ~]# timedatectl set-time 10:25:17

 


  • 更新时区(亚洲-中国-上海)

[root@localhost ~]# timedatectl set-timezone Asia/Shanghai

 


  • 将硬件时钟调整为与系统时钟一致

[root@localhost ~]# timedatectl set-local-rtc 1

或者

[root@localhost ~]# hwclock --systohc --localtime


  • 将日期写入CMOS

[root@localhost ~]# clock –w

 


再次查看系统时间和硬件时间,他们就一致了

 

你可能感兴趣的:(Centos7 修改硬件时间和系统时间)