计算两者之间的时间增量日期时间.time实例

2024-09-19 23:33:53 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试创建一个任务管理器,其中包含一个spcefic时间和任务,而日期是不相关的(每天更新)。在

我试图找出时间之间的差异,例如timedelta(hours=1)

datetime.time(13,00,00) - datetime.time(14,00,00)

以失败告终:

^{pr2}$

datetime.date(2017,06,26) - datetime.date(2017,06,25)结局很好。在


Tags: 管理器datetimedatetime时间差异timedeltahours
2条回答

要在几秒钟内得到答案,请按如下方式修改代码:

return (datetime.datetime.combine(today, t1)-datetime.datetime.combine(today, t2)).total_seconds()

Python的datetime模块不允许您仅根据一天中的时间计算时间增量。这可能导致模棱两可,比如当总和超过24小时时该怎么办。在你的情况下,有一个黑客应该是有效的。在同一天把你的时间变成datetime,然后从那里开始计算。在

>>> def time_diff(t1, t2):
...     today = datetime.date.today()
...     return (datetime.datetime.combine(today, t1)
...         - datetime.datetime.combine(today, t2))
... 
>>> 
>>> time_diff(datetime.time(13,0,0), datetime.time(14,0,0))
datetime.timedelta(-1, 82800)

负数timedelta看起来很奇怪(这是-1天加上82800秒),但在其他计算中应该可以使用。在

相关问题 更多 >