使用 datetime.timedelta 进行时间计算

Making calculations with time using datetime.timedelta

我正在尝试使用以下代码对时间进行简单计算:

from datetime import datetime
from datetime import timedelta

time = datetime.strptime('12:00:00', '%H:%M:%S').time()
endtime = time + datetime.timedelta(minutes = 5)
print(type(endtime))

但是,当我 运行 代码时,出现以下错误:

AttributeError: type object 'datetime.datetime' has no attribute 'timedelta'

同样使用下面的也会报错。我希望有人知道解决方案。

endtime = time + timedelta(minutes = 5)

您已导入 datetime.timedelta directly from datetime

from datetime import timedelta

所以你可以直接使用它:

endtime = time + timedelta(minutes = 5)

您也不能 + 通过删除 .time() 来增加 datetime.time object with timedelta, so you need to keep it as a datetime.datetime 对象:

 time = datetime.strptime('12:00:00', '%H:%M:%S')

工作代码:

from datetime import datetime
from datetime import timedelta

time = datetime.strptime('12:00:00', '%H:%M:%S')
endtime = time + timedelta(minutes = 5)
print(type(endtime))
# <class 'datetime.datetime'>

另一种方法是将 datetime 作为标准导入:

import datetime

time = datetime.datetime.strptime('12:00:00', '%H:%M:%S')
endtime = time + datetime.timedelta(minutes = 5)
print(type(endtime))
# # <class 'datetime.datetime'>

增量时间:

print(endtime.strftime('%H:%M:%S'))
# 12:05:00

使用 datetime.datetime.strftime.