[英]Need to check current time from NTP server is within some time range in python
我需要检查来自NTP服务器的当前时间(使用ntplib
模块)是否在某些所需的时间范围内。
我已经编写了以下代码,但是我需要一些帮助来完成此任务。
#!/usr/bin/python
import ntplib
from time import ctime
ntp_client = ntplib.NTPClient()
response = ntp_client.request('pool.ntp.org')
print (ctime(response.tx_time))
输出:
Fri Aug 16 13:26:16 2019
现在,我需要检查ntp当前时间“ 13:26:16”是否在时间范围“ 09:30:00-15:30:00”内,那么我们如何在Python中进行检查?
必须指出当前ntp时间在/不在时间范围“ 09:30:00-15:30:00”
将纪元时间戳转换为合适的表示形式,例如Python datetime
对象,并检查小时和分钟字段。
from time import gmtime
# ...
dt = time.gmtime(response.tx_time)
if (dt.tm_hour == 9 and dt.tm_min >= 30) or (
10 <= dt.tm_hour <= 14) or (
dt.tm_hour == 15 and dt.tm_min <= 30):
print('yes indeed')
else:
print('not')
时区总是很棘手。 上面的代码使您可以使用UTC(如gmtime
隐含地暗示)。 如果要与本地时区中的值进行比较,请尝试使用time.localtime
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.