将字典列表中的几秒钟转换为小时,python

发布于 2025-01-24 04:04:22 字数 291 浏览 3 评论 0原文

我正在尝试使用Python的DateTime软件包将词典列表中的秒数转换为小时。例如,而不是“持续时间”:745200(秒)我想要“持续时间”:207:00:00(小时:分钟:秒)。有人可以帮助我如何实现这一目标吗? 谢谢你!

id_duration = 
[{'Id': 44, 'Duration': 745200},
 {'Id': 45, 'Duration': 259200},
 {'Id': 58, 'Duration': 21600},
 {'Id': 61, 'Duration': 597600}]

I'm trying to convert the seconds in my list of dictionaries into hours using the DateTime package from python. Eg.g instead of 'Duration': 745200 (seconds) I want 'Duration': 207:00:00 (hours:minutes:seconds). Could someone help me with how to achieve this?
Thank you!

id_duration = 
[{'Id': 44, 'Duration': 745200},
 {'Id': 45, 'Duration': 259200},
 {'Id': 58, 'Duration': 21600},
 {'Id': 61, 'Duration': 597600}]

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

你在看孤独的风景 2025-01-31 04:04:22

首先,首先要导入软件包

import datetime

,然后让我们为此定义一个函数,使用 dateTime.timedelta

def convert_duration(duration_list):
    for i in duration_list:
        i['Duration'] = datetime.timedelta(seconds=i['Duration'])
        i['Duration'] = i['Duration'].total_seconds()
        i['Duration'] = i['Duration'] / 3600
    return duration_list

现在让我们使用您给出的示例进行测试

id_duration = [{'Id': 44, 'Duration': 745200}, {'Id': 45, 'Duration': 259200}, {'Id': 58, 'Duration': 21600}, {'Id': 61, 'Duration': 597600}]

print(convert_duration(id_duration))

[Out]: [{'Id': 44, 'Duration': 207.0}, {'Id': 45, 'Duration': 72.0}, {'Id': 58, 'Duration': 6.0}, {'Id': 61, 'Duration': 166.0}]

First of all start by importing the package

import datetime

Then let's define a function for that, using datetime.timedelta

def convert_duration(duration_list):
    for i in duration_list:
        i['Duration'] = datetime.timedelta(seconds=i['Duration'])
        i['Duration'] = i['Duration'].total_seconds()
        i['Duration'] = i['Duration'] / 3600
    return duration_list

Now let's test using the example you give

id_duration = [{'Id': 44, 'Duration': 745200}, {'Id': 45, 'Duration': 259200}, {'Id': 58, 'Duration': 21600}, {'Id': 61, 'Duration': 597600}]

print(convert_duration(id_duration))

[Out]: [{'Id': 44, 'Duration': 207.0}, {'Id': 45, 'Duration': 72.0}, {'Id': 58, 'Duration': 6.0}, {'Id': 61, 'Duration': 166.0}]
凉墨 2025-01-31 04:04:22

如果您只需要几个小时,则可以在没有DateTime软件包的情况下尝试NAIVE方法:

[{**x, "Duration": x["Duration"] // 3600} for x in id_duration]

If you need just hours, you can try naive approach without DateTime package:

[{**x, "Duration": x["Duration"] // 3600} for x in id_duration]
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文