在Windwos
中,系统时间的设置很简单,界面操作,通俗易懂,而且设置后,重启,关机都没关系。系统时间会自动保存在BIOS
时钟里面,启动计算机的时候,系统会自动在BIOS
里面取硬件时间,以保证时间的不间断。但在Linux
下,默认情况下,系统时间和硬件时间并不会自动同步。在Linux
运行过程中,系统时间和硬件时间以异步的方式运行,互不干扰。硬件时间的运行,是靠BIOS
电池来维持,而系统时间,是用CPU Tick
来维持的。在系统开机的时候,会自动从BIOS
中取得硬件时间,设置为系统时间。
1. Linux
系统时间的设置
在Linux
中设置系统时间,可以用date
命令:
# 查看时间
date
# Sun Nov 19 11:46:55 CST 2023
# 修改时间
date -s "20231119 11:50:00"
# Sun Nov 19 11:50:00 CST 2023
# 时间格式 yyyymmdd hh:mm:ss
# date 有多种时间格式可接受,查看date --help
2. Linux
硬件时间的设置
硬件时间的设置,可以用hwclock
或者clock
命令。两者基本相同,只用一个就行,只不过clock
命令除了支持x86
硬件体系外,还支持Alpha
硬件体系。
# 查看硬件时间可以是用hwclock ,hwclock --show 或者 hwclock -r
hwclock --show
# Sun 19 Nov 2023 11:52:24 AM CST -0.848548 seconds
# 设置硬件时间
hwclock --set --date "20231119 11:54:00"
hwclock
# Sun 19 Nov 2023 11:54:09 AM CST -0.782345 seconds
3. 系统时间和硬件时间的同步
同步系统时间和硬件时间,可以使用hwclock
命令。
# 以系统时间为基准,修改硬件时间
hwclock --systohc
# 注:--systohc <== sys(系统时间)to(写到)hc(Hard Clock)
# 或者
hwclock -w
# 以硬件时间为基准,修改系统时间
hwclock --hctosys
# 或者
hwclock -s