Local time: Sat 2022-01-29 23:18:39 CET
Universal time: Sat 2022-01-29 22:18:39 UTC
RTC time: Sat 2022-01-29 22:18:39
Time zone: Europe/Paris (CET, +0100)
System clock synchronized: yes
NTP service: active
RTC in local TZ: no
[root@rhcsa1 ~]# hwclock --get -u
2022-01-29 23:18:53.243325+01:00
答案1
硬件时钟不知道它的时区,它只是一个时钟。因此,如果未设置为 UTC,而是设置为其他特定时区,则您必须自己提供时区。
-u
,选项--utc
不告诉hwclock
显示 UTC 时间。它只是一个选项,用于指定是的,时钟将被视为 UTC,而不是-l
, --localtime
。
它告诉hwclock
硬件时钟中存储的时间是UTC,因此可以计算并显示正确的本地时间。
如果你想hwclock
显示UTC时间你可以实现它:
# TZ=UTC date
Sat Jan 29 22:52:47 UTC 2022
# TZ=UTC hwclock --get --utc
2022-01-29 23:52:50.968087+00:00
在我的例子中,硬件时钟设置为本地时间而不是 UTC,因此将其读取为 UTC 时输出不匹配。在你的情况下它应该匹配。就我而言,它也不会与设置为错误的时区的--localtime
情况匹配。TZ
因此,如果硬件时钟未设置为 UTC,则无法打印hwclock
UTC 时间。
手册页也对此进行了解释:
-r,--显示; --get
读取硬件时钟并将其时间以 ISO 8601 格式打印到标准输出。即使您将硬件时钟设置为 UTC,显示的时间也始终为当地时间。