在 CentOS 系统中,修改时间是一个需要谨慎操作的任务,因为系统时间对于许多服务和应用程序的正常运行至关重要,以下是关于如何在 CentOS 中修改时间的全面指南:
一、查看时间相关命令
1、date:显示当前系统的日期和时间。

2、hwclock r:查看硬件时钟的时间。
3、timedatectl:查询或更改系统时间和日期设置。
二、修改系统时间
1、使用 date 命令
临时修改系统时间:date s "YYYYMMDD HH:MM:SS",例如date s "20240126 10:00:00"。
说明:此命令只是临时修改了系统时间,重启系统后会还原。
2、使用 timedatectl 命令

永久修改系统时间:timedatectl settime "YYYYMMDD HH:MM:SS",例如timedatectl settime "20240126 10:00:00"。
说明:此命令可以永久修改系统时间,即使重启系统也会保留修改。
三、修改硬件时间
1、使用 hwclock 命令
设置硬件时间:hwclock set date "YYYYMMDD HH:MM:SS",例如hwclock set date "20240126 10:00:00"。
同步系统时间和硬件时间:hwclock hctosys。
将系统时间写入硬件时间:hwclock systohc。

强制系统时间写入 CMOS 防止重启失效:hwclock w 或者clock w。
四、修改时区
1、使用 timedatectl 命令
查看所有时区:timedatectl listtimezones。
设置时区:timedatectl settimezone 时区名称,例如timedatectl settimezone Asia/Shanghai。
五、与时间服务器同步
1、安装 ntpdate 工具:yum y install ntp ntpdate。
2、设置系统时间与网络时间同步:ntpdate cn.pool.ntp.org 或者ntpdate time.windows.com。
3、将系统时间写入硬件时间:hwclock systohc。
4、保存设置:hwclock w 或者clock w。
六、注意事项
1、修改系统时间需要管理员权限,请确保以 root 用户身份执行相关命令。
2、在修改时间之前,建议先备份重要的数据,以防不测。
3、如果系统时间与硬件时间不一致,可能会导致一些应用程序出现异常行为,因此建议同时修改系统时间和硬件时间。
4、修改时区可能会影响应用程序的行为,尤其是在处理时间相关的数据时,请谨慎操作。
七、FAQs
1、Q: 如何查看当前系统的时间和时区?
A: 可以使用timedatectl 命令查看当前系统的时间和时区信息,执行timedatectl 命令后,会显示类似于以下的信息:
Local time: Fri 20240126 10:00:00 CST
Universal time: Fri 20240126 02:00:00 UTC
RTC time: Fri 20240126 02:00:00
Time zone: Asia/Shanghai (CST, +0800)
System clock synchronized: yes
systemdtimesyncd.service active: yes
RTC in local TZ: no2、Q: 如何使系统时间与网络时间服务器同步?
A: 确保安装了ntpd 服务,然后可以通过ntpdate 命令手动同步时间,或者启用systemdtimesyncd 服务自动同步时间,安装ntpd 服务后,执行ntpdate pool.ntp.org 命令手动同步时间;或者启用systemdtimesyncd 服务,并设置为开机启动:
yum y install ntp ntpdate
systemctl enable systemdtimesyncd
systemctl start systemdtimesyncd 