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发布于 2022-01-29 22:56:54
硬件时钟不知道它的时区,它只是一个时钟。因此,如果它没有设置为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,--显示;--让读取硬件时钟,并以ISO 8601格式将其时间打印到标准输出。所显示的时间总是在本地时间,即使您将硬件时钟保持在UTC。
https://unix.stackexchange.com/questions/688497
复制相似问题