使用datetime.timedelta与时间进行计算

时间:2019-01-12 12:12:56

标签: python python-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)

1 个答案:

答案 0 :(得分:1)

您已经直接从datetime.timedelta导入了datetime

from datetime import timedelta

因此您可以立即使用它:

endtime = time + timedelta(minutes = 5)

您也不能+timedelta增加datetime.time对象,因此需要通过删除.time()将其保留为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