【问题标题】:Python DateTime minus TimeDelta vs TimeDelta minus DateTimePython DateTime 减去 TimeDelta 与 TimeDelta 减去 DateTime
【发布时间】:2019-10-03 23:12:56
【问题描述】:

假设我有日期时间now

import datetime
now = datetime.datetime(2019, 10, 3, 1, 57, 3, 939862)

print(now)
2019-10-03 01:57:03.939862

我有一个工作日开始的时间增量(07:00:00)。

start_biz_dt = datetime.timedelta(hours = 7)

我想做一个计算,得到从nowstart of business day 的时间。 即,我想要:

6:03:56.060138

但我显然做不到:

start_biz_dt - now

我可以给start_biz_dt 提供与now 相同的日期,但我在不同日期的列中有很多日期时间,所以这可能不是最好的方法。任何帮助表示赞赏。

【问题讨论】:

    标签: python date datetime time calculation


    【解决方案1】:

    要找到最近的 07:00:00,因此您可以使用下一个代码:

    from datetime import datetime, timedelta
    
    start_of_business_day = datetime.now().replace(hour=7, minute=0, second=0)
    if start_of_business_day < datetime.now():
        start_of_business_day += timedelta(days=1)
    

    要计算还剩多少,只需用start_of_business_day 替换当前日期时间:

    sleep_time = start_of_business_day - datetime.now()
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-04-18
      • 2021-08-30
      • 2020-08-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-15
      • 1970-01-01
      相关资源
      最近更新 更多