我尝试使用以下代码进行简单的时间计算:
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
直接来自datetime
与:
from datetime import timedelta
所以你可以直接使用它:
endtime = time + timedelta(minutes = 5)
您也不能 +
增加 datetime.time
具有 timedelta
的对象,因此您需要将其保留为 datetime.datetime
通过删除 .time()
来获取对象:
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
关于python - 使用 datetime.timedelta 进行时间计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54159460/