我这里有这个整数i = 33
和o = 156
,我想做的是将这些整数转换为时间格式的分钟,成为这些结果:
i => 00:33:00
o => 02:36:00
我试过这个:
from datetime import datetime, timedelta
i = 33
o = 156
itime = datetime.timedelta(minutes=i)
itime = datetime.timedelta(minutes=o)
它给了我这个错误
AttributeError: type object 'datetime.datetime' has no attribute 'timedelta'
这是通过添加import datetime
来解决
的但是在我的代码中,当我像这样添加它时,它会破坏它的某些部分,就像datetime.strptime()
import datetime
from datetime import datetime, timedelta
我也尝试了没有像这样的from datetime import datetime, timedelta
datetime.timedelta(minutes=33)
但结果是
datetime.timedelta(0, 1980)
但我希望它是几分钟而不是像这样几秒钟datetime.time(0, 33)
将上面的代码修改为:
from datetime import datetime, timedelta
i = 33
o = 156
itime = timedelta(minutes=i)
itime = timedelta(minutes=o)
您已经导入了timedelta
,因此无需从datetime
将其作为子库调用。附加datetime
导入将覆盖子库导入。
不知道为什么你使用itime
两次,尽管它也会覆盖第一个......
你应该能够做到
x = datetime.time(0,0) + timedelta(minutes=i)
试一试
def convert_to_minutes(i):
hr = i // 60
m = i - hr * 60
res_ = str(hr) + ":" + str(m) + ":" + "00"
res = datetime.strptime(res_, '%H:%M:%S').time()
return res