python - 如何比较小时和分钟?

标签 python

我有四个变量:

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/

相关文章:

python - 如何在 Django 模板上访问多维字典

python - 使用Python检查列表元素是否是另一个列表中元素的子元素

python - 单击第二个按钮(相同的按钮)Selenium python

python - 搜索文件python

python - 在 SQLAlchemy 中定义表时,如何将函数(依赖于其他列的表达式)定义为列的默认值?

无法找到 Python kivy 入口点 inflateRest2 libpng16-16.dll

python group by 和 count() 多列

python - 从Python中的列表列表中提取整数

python - 更新线程内的pyqtgraph BarGraphItem

Python:如何在不反转原始字典的情况下反转新字典中的列表