python - 24小时格式的datetime.now()。小时

时间:2017-06-21 19:01:33

标签: python datetime

我想在每天的某个特定时间开始和结束我的计划。例如。从下午10点开始并于下午6点结束

使用dt.now().hour in range(10,6)的方法似乎不起作用。我试图将其更改为dt.now().hour in range(22,6),结果是一样的。但是对于dt.now().hour in range(2,6),它可以正常工作。

python代码

from datetime import datetime as dt
from time import time, sleep

while True:
    if dt.now().hour in range(10,3):
        print('time to sleep')
        sleep(10)

    else:
        print('time to work')
        sleep(10)

2 个答案:

答案 0 :(得分:3)

做两次检查

if dt.now().hour in range(22,24) or dt.now().hour in range(0, 6):
    print("working")
else:
    print("sleeping")

答案 1 :(得分:0)

range(10,3)返回一个空范围,因为10> 3.您需要检查小时是否在范围0-24范围内22-24 。另一个解决方案是检查6-22范围内的小时是否