Python将秒转换为 时分秒 的格式

今天遇到了一个很简单的需求,计算一个模块的运行时间。

这个功能其实很简单,日志中有每个模块的开始运行时间和结束运行时间,用datetime模块一计算就可以了。

def compute_time(start, end):
    start = datetime.datetime.strptime(start, "%Y-%m-%d %H:%M:%S")
    end = datetime.datetime.strptime(end, "%Y-%m-%d %H:%M:%S")
    print((end - start).seconds)


if __name__ == '__main__':
    compute_time(start="2021-04-28 13:41:20", end="2021-04-28 14:10:07")
    compute_time(start="2021-04-28 14:10:07", end="2021-04-28 14:19:21")
    compute_time(start="2021-04-28 14:19:21", end="2021-04-28 14:37:51")
    compute_time(start="2021-04-28 14:37:51", end="2021-04-28 15:25:39")
    compute_time(start="2021-04-28 15:25:39", end="2021-04-28 17:46:55")
    compute_time(start="2021-04-28 17:46:55", end="2021-04-28 18:05:51")

但是这计算出来的是多少秒,需要转换成 时分秒 的格式。

1分钟是60秒,所以用总秒数除以60得到总分钟数和秒数,同理用总分钟数除以60得到总小时数和分钟数。

    m, s = divmod((end - start).seconds, 60)
    h, m = divmod(m, 60)
    print(f"{h}时{m}分{s}秒")
    原文作者:Alex_996
    原文地址: https://blog.csdn.net/weixin_43336281/article/details/116451695
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞