将持续时间格式从浮点转换为月:天:小时:分钟:python 3.x中的秒数

2024-05-04 02:27:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个浮点12634.0作为持续时间的结果。 我想将其转换为以下格式: 月份:天:小时:分钟:秒(00:00:03:30:34)

我怎么才能做到呢?谢谢


Tags: 格式浮点持续时间小时月份
2条回答

你可以试试

import datetime
print (str(datetime.timedelta(seconds=12634))

另一种解决方案,如果您需要更多信息,如weeks:

import datetime

def time_in_sec(time_sec):

    delta = datetime.timedelta(seconds=time_sec)
    delta_str = str(delta)[-8:]
    hours, minutes, seconds = [int(val) for val in delta_str.split(":", 3)]
    weeks = delta.days // 7
    days = delta.days % 7
    return "{}:{}:{}:{}:{}".format(weeks, days, hours, minutes, seconds)


def time_in_sec2(seconds):

    WEEK = 60 * 60 * 24 * 7
    DAY = 60 * 60 * 24
    HOUR = 60 * 60
    MINUTE = 60

    weeks = seconds // WEEK
    seconds = seconds % WEEK
    days = seconds // DAY
    seconds = seconds % DAY
    hours = seconds // HOUR
    seconds = seconds % HOUR
    minutes = seconds // MINUTE
    seconds = seconds % MINUTE
    return "{}:{}:{}:{}:{}".format(weeks, days, hours, minutes, seconds)


def main():
    print(time_in_sec(12634.0))
    print(time_in_sec2(12634.0))

结果是:

^{pr2}$

如果你不想要像周这样的信息,那么你可以简单地删除它

如果您不想依赖于

import datetime

相关问题 更多 >