我有四个变量:
start_hour = '12'
start_minute = '00'
end_hour = '22'
end_minute = '30'
从日期时间开始:
current_hour = datetime.now().hour
curren_minute = datetime.now().minute
我想比较当前时间是否在范围内:
if int(start_hour) <= current_hour and int(end_hour) >= current_hour:
something
但是如何在几分钟内实现呢?
最佳答案
您可以使用 datetime.timedelta
可靠地进行比较。您可以指定不同时间单位(小时、分钟、秒等)的增量。然后您不必担心显式转换为小时、分钟等。
例如,检查当前时间是否距离start_time
超过一个小时:
if abs(datetime.now() - start_time) > datetime.timedelta(hours=1):
# Do thing
您还可以使用 timedelta
将时间偏移给定的量:
six_point_five_hours_from_now = datetime.now() + datetime.timedelta(hours=6, minutes=30)
timedelta
的好处除了单位之间的简单转换外,它会自动处理跨越多天的时差等。
关于python - 如何比较小时和分钟?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38576920/