我正在尝试同步本地时间和RTC之间的时间。我有DS3231 RTC,我已按照指南进行安装和配置操作系统以使用它,RTC正常运行,但是没有互联网的时间倒退了2个小时。我的时区是GMT + 2,并且在/ etc / localtime中已正确设置。当NTP工作时,一切看起来都很好。 timedatectl的输出:
Local time: Mon 2019-11-18 11:42:28 EET
Universal time: Mon 2019-11-18 09:42:28 UTC
RTC time: Mon 2019-11-18 09:42:29
Time zone: Etc/UTC (EET, +0200)
Network time on: yes
NTP synchronized: yes
RTC in local TZ: no
当我拔下以太网电缆并重新启动树莓派时,本地时间会自动从11:42移动到9:42
如何解决此问题?谢谢。
PS:我尝试使用此Shell脚本手动输入RTC的小时数:
newhour=$(date +%T --date '2 hours');
curdate=$(date '+%d %b %Y')
settime="$curdate $newhour"
echo $settime
sudo hwclock --set --date "$settime"
但是NTP正在固定存储在RTC中的值...
欢迎使用stackoverflow!
要在系统配置中设置操作系统时区,必须使用timedatectl
进行定义。例如对于保加利亚,您必须输入
sudo timedatectl set-timezone Europe/Sofia
要检查,您可以做一个
cat /etc/timezone
无论您是否已建立互联网连接,现在都应始终具有正确的时区(保加利亚的夏令时为UTC + 2或UTC + 3)。>
NTP仅用于使系统时间与时间服务器永久同步。
希望这会有所帮助!如果是这样,请单击此答案左侧的复选标记(✔)。