Python 将日期转换为两位数字(TypeError:不支持的操作数类型-:';int';和';str';)

Python 将日期转换为两位数字(TypeError:不支持的操作数类型-:';int';和';str';),python,time,format,Python,Time,Format,正在尝试将秒数转换为dd:hh:mm:ss num_of_seconds = int(input("Enter number of seconds: ")) days = num_of_seconds // 86400 days = '%02d' % days hours = (num_of_seconds - (days*86400)) // 3600 hours = '%02d' % hours minutes = (num_of_seconds - (days*864

正在尝试将秒数转换为
dd:hh:mm:ss

num_of_seconds = int(input("Enter number of seconds: "))

days = num_of_seconds // 86400
days = '%02d' % days
hours = (num_of_seconds - (days*86400)) // 3600
hours = '%02d' % hours
minutes = (num_of_seconds - (days*86400) - (hours*3600)) // 60
minutes = '%02d' % minutes
seconds = (num_of_seconds - (days*86400) - (hours*3600) - minutes*60)
seconds = '%02d' % seconds

print(days, ":", hours, ":", minutes, ":", seconds)

我希望不同时间的格式始终为两位数(例如05:00:00)

您可以使用以下代码删除您的
类型错误:

seconds = 208920
seconds_in_day = 60 * 60 * 24
seconds_in_hour = 60 * 60
seconds_in_minute = 60


days = seconds // seconds_in_day
hours = (seconds - (days * seconds_in_day)) // seconds_in_hour
minutes = (seconds - (days * seconds_in_day) - (hours * seconds_in_hour)) // seconds_in_minute

left_over_seconds = seconds - days * seconds_in_day - hours * seconds_in_hour - minutes * seconds_in_minute

print(f'{days:02}', ":", f'{hours:02}', ":", f'{minutes:02}', ":", f'{left_over_seconds:02}')

你的问题是什么?将变量的字符串转换移到代码末尾。了解字符串和int之间的区别。字符串不支持数学运算。您应该使用整数进行计算,然后打印字符串。