如何将简单整数转换为时间的分钟



我这里有这个整数i = 33o = 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, timedeltadatetime.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

最新更新