UTC 日期时间在两台机器之间不匹配

UTC Date Time not matching between two machines

我有两个项目,一个用 JS 写的,另一个用 Python 写的。我有一个功能需要计算来自两个项目的当前 UTC 时差。当我测试当前的 UTC 时间时,我注意到总是存在确切的差异,我希望它几乎相等。

时差计算在JS项目中完成。使用 websocket,我从 Python 项目获取 UTC 时间并从中减去 Math.round(new Date().getTime())。差异几乎总是相同的,但也是无法接受的。

这就是我从 Python 获取 UTC 时间的方式:

time = datetime.datetime.now(datetime.timezone.utc)
time = time.replace(tzinfo=datetime.timezone.utc)
time = time.timestamp()

我正在 运行 在我的 windows WSL 环境中运行 JS 项目。当我 运行 来自本地 (WSL) docker 容器的 python 项目时,我得到 7.02 秒的差异。相反,当我 运行 来自 LXC 容器的 python 项目在我的 raspberry pi 上时,我得到了大约 3.04 秒。

我需要让这个差值精确到秒。有什么我可以做的吗?

我使用 ntpdate

解决了这个问题

我已经安装了这个软件包 apt install ntpdate 和 运行 ntpdate -u pool.ntp.org。此命令的作用是同步您的系统时钟。我在我的两个系统上都这样做了,我没有遇到不匹配的 utc 时间戳问题。

当然我想知道,当 JS 在 运行 和 android 设备上运行时,该系统是否也会同步?我现在假设是:)