在Python中检查当前时间是否小于特定时间?

时间:2015-06-17 15:34:30

标签: python datetime timezone

在Python脚本中,我希望它在执行前检查它是否在UTC时间上午9点之前,以便它可以执行某些特定的操作。

我想知道最好的方法是在检查时间以确保每天早上9点之前运行脚本?请记住,代码可能在具有不同时区的不同计算机上运行。

谢谢

4 个答案:

答案 0 :(得分:4)

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.
>>> 

答案 1 :(得分:1)

你试过这个吗?

在所有计算机中将时间转换为UTC,然后将其与您要启动的时间进行比较

from datetime import datetime

now_UTC = datetime.utcnow() # Get the UTC time

# check for the condition
if(now_UTC.hour < 9):
    do something()

答案 2 :(得分:0)

通过在线阅读,我得出了这个答案,我看起来不是最有效但似乎可以做到这一点:

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")

答案 3 :(得分:0)

To get the current hour in UTC:

>>> import time
>>> time.gmtime().tm_hour
15