在Python脚本中,我希望它在执行之前检查它是否在UTC上午9点之前,以便它可以做一些特定的事情。
我想知道最好的方法是检查时间以确保每天运行脚本在上午 9 点之前?请记住,代码可以在具有不同时区的不同计算机上运行。
谢谢
datetime
模块应该对您非常有帮助。 尝试如下操作:
>>> d = datetime.datetime.utcnow()
>>> print d
2015-06-17 11:39:48.585000
>>> d.hour
11
>>> if d.hour < 9:
print "Run your code here"
# nothing happens, it's after 9:00 here.
>>>
你试过这个吗
在所有计算机中,将时间转换为UTC,然后将其与要开始的时间进行比较
from datetime import datetime
now_UTC = datetime.utcnow() # Get the UTC time
# check for the condition
if(now_UTC.hour < 9):
do something()
通过在线阅读,我想出了这个答案,我看起来不是最有效的,但似乎可以完成这项工作:
import datetime
import pytz
utc = pytz.utc
loc_dt = utc.localize(datetime.datetime.today().replace(hour=9, minute=0))
today = utc.localize(datetime.datetime.today())
if loc_dt < today:
print("Go")
要获取 UTC 格式的当前小时数,请执行以下操作:
>>> import time
>>> time.gmtime().tm_hour
15