python3 将两个time函数相减的秒数,转换为可读的天、小时、分钟、秒、毫秒

思路是:

将 总秒数一天的秒数 取余,商为天数,余数则不足一天,

再将 刚才的余数 对 一小时的秒数 取余,商为小时数,余数则不足一小时。

依此类推,得到分钟数、秒数、毫秒数。

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))

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值