Python 如何将分钟添加到日期时间范围比较?

Python 如何将分钟添加到日期时间范围比较?,python,python-3.x,datetime,python-datetime,Python,Python 3.x,Datetime,Python Datetime,我如何更改以下内容以说明分钟数以及我们的in-datetime范围 例如,下面的工作很好 from datetime import datetime if (datetime.now().hour>=14) and (datetime.now().hour<=16): print ('afternoon' ) else: print ('not afternoon') 如果现在的时间超过14:30,但在下午16:30之前打印。您可以使用date

我如何更改以下内容以说明分钟数以及我们的in-datetime范围

例如,下面的工作很好

from datetime import datetime

if (datetime.now().hour>=14) and (datetime.now().hour<=16):
         print ('afternoon' )

else:
        print ('not afternoon')
如果现在的时间超过14:30,但在下午16:30之前打印。

您可以使用datetime中的时间来创建时间对象。因此,可以为开始时间创建时间对象,为结束时间创建时间对象。然后,您可以从datetime中提取timeobject,并将其与一个简单的between表达式进行比较。我使用了timedelta,只是操纵当前的日期时间来显示这个工作状态

from datetime import datetime, time

def checkTime(t):
    if time(14, 30) <= t <= time(16, 30):
        print("time: " + t.strftime("%H") + "h" + " " + t.strftime("%M") + "m" + " is afternoon" )
    else:
        print("time: " + t.strftime("%H") + "h" + " " + t.strftime("%M") + "m" + " is not afternoon" )

checkTime(time(15,15)) # time: 15h 15m is afternoon
checkTime(time(14,30)) # time: 14h 30m is afternoon
checkTime(time(15,31)) # time: 15h 31m is afternoon
checkTime(time(14,29)) # time: 14h 29m is not afternoon
checkTime(time(16,31)) # time: 16h 31m is not afternoon
checkTime(time(18,10)) # time: 18h 10m is not afternoon
从datetime导入datetime、timedelta、time 日期时间=[] datetimes.appenddatetime.now datetimes.appenddatetimes[-1]+timedeltahours=3,分钟=20 datetimes.appenddatetimes[-1]+timedeltahours=3,分钟=20 开始时间=时间14,30 结束时间=时间16,30 对于当前日期时间: 打印时间:{current.hour:02}:{current.minute:02}
如果是开始时间,您能否插入一个最小且可复制的代码示例?试着看看最真诚的道歉——我手机上的格式。这如何检查时间是否在14:30到16:30之间?这根本不能回答问题。你添加到答案中的部分不起作用。例如,它将15:15报告为非下午。事实上,除了下午14:30、15:30或16:30之外,它不会报告任何时间,并且有很多时间它根本不会打印任何内容。此外,您还应该捕获一次时间并进行比较,而不是一次又一次地调用dt