【发布时间】:2023-03-18 11:16:01
【问题描述】:
我的脚本尝试确定当前时间是否介于这两个时间字段之间:execute_before 和 execute_after。
一个简单的execute_after <= datetime.now() <= execute_before 适用于一般情况,例如
execute_after = '08:00:00'
execute_before = '18:00:00'
但是execute_after和execute_before之间的时间跨度跨越2天的情况会导致问题,我似乎无法找到解决方法。
问题:
execute_after = '19:00:00'
execute_before = '05:00:00'
预期输出:
Time difference: '10:00:00'
任何帮助将不胜感激。
【问题讨论】:
-
是的,好吧......没有日期的时候会这样做。
execute_after和execute_before是什么类型的值?您如何从数据库中检索它们?你在使用datetime对象吗?字符串?请阅读How to Ask。理想情况下,我们希望看到minimal reproducible example。 -
如果是跨日,可能需要将列类型从时间更改为日期时间
-
您在寻找modular arithmetic吗?
(18 - 8) % 24 == 10和(5 - 19) % 24 == 10。如果这是在正确的轨道上,我可以把一个完整的答案放在一起。