好吧,对于 Python 来说我是个菜鸟。毫无疑问。做过一些VBS和VB所以有一点了解。
我使用 Python 完成的任务似乎很简单:仅在这些时间运行操作:
Mon: between 1:30 am and 7:30 am
Tues – Fri: between 3:00 am 7:30 am
Sat: between 1:00 am and 9:00 am and 5:00 pm to Midnight
Sun: Midnight to 8:30 am
问题是,我能想到的就是这个(我什至不确定这是否正常工作):
import time
def IsOffHour(time):
if (time.tm_wday > 4):
return True
elif (time.tm_hour >= 17):
return True
elif (time.tm_hour < 8):
return True
else:
return False
now = time.localtime()
if IsOffHour(now):
print 'hello cruel world !'
我不确定如何处理从 :30
开始的时间。测试起来有点困难,也许我可以改变一下系统日期和时间来测试一下。
看起来我很亲近,乐于接受想法。
谢谢!
最佳答案
您应该尝试使用datetime
模块,而不是使用time
模块。像这样的任务要容易得多。
如果您使用虚构日期(或替换支票中的日期),则可以这样做:
>>> x = datetime.datetime(1, 1, 1, 13, 37, 40)
>>> a = datetime.datetime(1, 1, 1, 1, 30, 0)
>>> b = datetime.datetime(1, 1, 1, 7, 30, 0)
>>> a < x < b
False
>>> x = datetime.datetime(1, 1, 1, 5, 0, 0)
>>> a < x < b
True
关于python - 在一周的不同时间打印,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4345541/