为了解决我正在处理的软件项目中与特定时区相关的错误,我正在尝试复制系统时钟上的更改,timedatectl
以检查我的软件行为。
我试图通过运行来实现
timedatectl set-timezone America/New_York
timedatectl set-local-rtc 1
timedatectl set-ntp false
timedatectl set-time "2017-03-12 01:58:50" && hwclock -w
当我这样做并立即运行时timedatectl
,我会得到预期的以下时间:
Local time: Sun 2017-03-12 01:58:51 EST
Universal time: Sun 2017-03-12 06:58:51 UTC
RTC time: Sun 2017-03-12 01:58:51
Time zone: America/New_York (EST, -0500)
System clock synchronized: no
systemd-timesyncd.service active: no
RTC in local TZ: yes
但是,在此之后 10 秒,当分钟更改(变为xx:59
)时,本地时间和通用时间会“重新启动”到当前时间
Local time: Wed 2019-08-07 21:01:41 EDT
Universal time: Thu 2019-08-08 01:01:41 UTC
RTC time: Sun 2017-03-12 01:58:57
Time zone: America/New_York (EDT, -0400)
System clock synchronized: no
systemd-timesyncd.service active: no
RTC in local TZ: yes
我在这里想念什么?
我的设置是 Vagrant Ubuntu 18 VM (Linux vagrant 4.15.0-51 / vm box "bento/ubuntu-18.04")。