2024-09-19 23:33:53 发布
网友
我正在尝试创建一个任务管理器,其中包含一个spcefic时间和任务,而日期是不相关的(每天更新)。在
我试图找出时间之间的差异,例如timedelta(hours=1):
timedelta(hours=1)
datetime.time(13,00,00) - datetime.time(14,00,00)
以失败告终:
而datetime.date(2017,06,26) - datetime.date(2017,06,25)结局很好。在
datetime.date(2017,06,26) - datetime.date(2017,06,25)
要在几秒钟内得到答案,请按如下方式修改代码:
return (datetime.datetime.combine(today, t1)-datetime.datetime.combine(today, t2)).total_seconds()
Python的datetime模块不允许您仅根据一天中的时间计算时间增量。这可能导致模棱两可,比如当总和超过24小时时该怎么办。在你的情况下,有一个黑客应该是有效的。在同一天把你的时间变成datetime,然后从那里开始计算。在
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秒),但在其他计算中应该可以使用。在
timedelta
要在几秒钟内得到答案,请按如下方式修改代码:
Python的
datetime
模块不允许您仅根据一天中的时间计算时间增量。这可能导致模棱两可,比如当总和超过24小时时该怎么办。在你的情况下,有一个黑客应该是有效的。在同一天把你的时间变成datetime
,然后从那里开始计算。在负数
timedelta
看起来很奇怪(这是-1天加上82800秒),但在其他计算中应该可以使用。在相关问题 更多 >
编程相关推荐