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

本文描述了一位Java程序员遇到的服务时间与系统时间不一致的问题,最终发现是由于系统时间和硬件时间不同步引起的,并给出了详细的解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、废哔哔

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

当时排查过问题,可以很明确的排除时区,jvm,tomcat的问题,当时一位老同志就让我看看是否是系统时间和硬件时间不一致,一查看还真是,log4j和new 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

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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值