gpt4 book ai didi

python - 在 python 中获取正确时间的简单方法

转载 作者:太空狗 更新时间:2023-10-29 22:06:02 26 4
gpt4 key购买 nike

我在集群上运行一些作业,其中每个节点上的日期彼此略有不同。有没有一种简单的方法可以通过 python 从互联网上的某个地方获取时间,或者我是否需要让系统管理员更频繁地同步机器之间的时间?

我想在我启动的每个作业的输出中放置一个时间戳,但显然 python 的 time.strftime() 等的准确性将取决于机器知道正确的时间。我希望在几秒钟内准确无误,但现在只需几分钟。

最佳答案

我正在处理运行 Linux 2.6.33、Python 2.6.5 的独立传感器设备,不幸的是缺少实时时钟,但确实具有网络功能。此外,该设备使用 BusyBox,因此它具有一组最小化的工具功能。

我创建了下面的脚本,它在网络运行后执行以更正系统时间。我的解决方案可能无法完全解决原始问题(听起来 Noah 是用户而不是系统管理员),但这个问题是通过 NTP 使用 Python 搜索同步系统时钟时出现的问题。我认为它可能会帮助其他降落在这里的人。

在使用脚本之前,您需要安装 ntplib。下载链接和安装说明在这里:https://pypi.python.org/pypi/ntplib/ .

将下面代码的内容复制到一个文件中(我将我的文件命名为“synctime.py”)。然后,在网络运行后,执行脚本(例如“python synctime.py”)。您需要使用提升的 (root) 权限来执行此操作才能正常工作。

import time
import os

try:
import ntplib
client = ntplib.NTPClient()
response = client.request('pool.ntp.org')
os.system('date ' + time.strftime('%m%d%H%M%Y.%S',time.localtime(response.tx_time)))
except:
print('Could not sync with time server.')

print('Done.')

关于python - 在 python 中获取正确时间的简单方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5222951/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com