Python DateTime 减去 TimeDelta 与 TimeDelta 减去 DateTime
Python DateTime minus TimeDelta vs TimeDelta minus DateTime
假设我有日期时间 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)
我想计算出从 now
到 start of business day
的时间。
即,我想要:
6:03:56.060138
但我显然做不到:
start_biz_dt - now
我可以给 start_biz_dt
和 now
相同的日期,但是我在不同日期的列中有很多日期时间,所以这可能不是最好的方法。感谢您的帮助。
要找到最近的 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()
假设我有日期时间 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)
我想计算出从 now
到 start of business day
的时间。
即,我想要:
6:03:56.060138
但我显然做不到:
start_biz_dt - now
我可以给 start_biz_dt
和 now
相同的日期,但是我在不同日期的列中有很多日期时间,所以这可能不是最好的方法。感谢您的帮助。
要找到最近的 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()