思路是:
将 总秒数 对 一天的秒数 取余,商为天数,余数则不足一天,
再将 刚才的余数 对 一小时的秒数 取余,商为小时数,余数则不足一小时。
依此类推,得到分钟数、秒数、毫秒数。
import time
# region 转换秒数相关
_毫秒_秒数 = 0.001
_秒_秒数 = _毫秒_秒数 * 1000
_分钟_秒数 = _秒_秒数 * 60
_小时_秒数 = _分钟_秒数 * 60
_天_秒数 = _小时_秒数 * 24
def 拆解秒数(总秒数, 字典={}):
if 总秒数 > _天_秒数 + _小时_秒数:
除余结果 = divmod(总秒数, _天_秒数)
字典["天"] = int(除余结果[0])
return "%d 天, %s" % (int(除余结果[0]), 拆解秒数(除余结果[1], 字典))
elif 总秒数 > _小时_秒数 + _分钟_秒数:
除余结果 = divmod(总秒数, _小时_秒数)
字典["小时"] = int(除余结果[0])
return '%d 小时, %s' % (int(除余结果[0]), 拆解秒数(除余结果[1], 字典))
elif 总秒数 > _分钟_秒数 + _秒_秒数:
除余结果 = divmod(总秒数, _分钟_秒数)
字典["分钟"] = int(除余结果[0])
return '%d 分钟, %s' % (int(除余结果[0]), 拆解秒数(除余结果[1], 字典))
elif 总秒数 > _秒_秒数 + _毫秒_秒数:
除余结果 = divmod(总秒数, _秒_秒数)
字典["秒"] = int(除余结果[0])
return '%d 秒, %s' % (int(除余结果[0]), 拆解秒数(除余结果[1], 字典))
else:
除余结果 = divmod(总秒数, _毫秒_秒数)
字典["毫秒"] = int(除余结果[0])
return "%d 毫秒" % int(除余结果[0])
# endregion
if __name__ == '__main__':
print(拆解秒数(time.time()))
print()
详情字典 = {}
print(拆解秒数(154525001010.37862,详情字典))
print(详情字典)
print()
start_time = time.time()
time.sleep(1.645)
end_time = time.time()
print(end_time - start_time)
print(拆解秒数(end_time - start_time))