【python】从列表中获取最大时间

20 篇文章 0 订阅

需求:
items = [
{“id”: 1, “mtbf_time”: “2024-07-11 13:42:24.235000”},
{“id”: 2, “mtbf_time”: “2024-07-12 13:42:24.235000”},
{“id”: 3, “mtbf_time”: “2024-07-13 13:42:24.235000”},
{“id”: 4, “mtbf_time”: “2024-07-14 13:42:24.235000”},
{“id”: 5, “mtbf_time”: “2024-07-15 13:42:24.235000”},
]

获取items中最大的 mtbf_time ,如上数据返回结果:2024-07-15 13:42:24.235000

需求比较简单,直接上代码:

第一种方式实现:max

# -- coding:utf-8 --
from datetime import datetime

# 给定的列表
items = [
    {"id": 1, "mtbf_time": "2024-07-11 13:42:24.235000"},
    {"id": 2, "mtbf_time": "2024-07-12 13:42:24.235000"},
    {"id": 3, "mtbf_time": "2024-07-13 13:42:24.235000"},
    {"id": 4, "mtbf_time": "2024-07-14 13:42:24.235000"},
    {"id": 5, "mtbf_time": "2024-07-15 13:42:24.235000"},
]

# 将字符串转换为datetime对象
items_with_datetime = [
    {"id": item["id"], "mtbf_time": datetime.fromisoformat(item["mtbf_time"])}
    for item in items
]

# 使用max()函数找出mtbf_time最晚的时间
latest_time = max(items_with_datetime, key=lambda x: x["mtbf_time"])

print(latest_time["mtbf_time"])

在这个示例中,我们使用strptime函数将每个日期时间字符串按照格式"%Y-%m-%d %H:%M:%S.%f"转换为datetime对象。然后,我们再次使用max()函数来找出列表中mtbf_end_time最晚的时间。

第二种for循环方式实现:

from datetime import datetime

# 给定的列表
items = [
    {"id":1, "mtbf_end_time": "2024-07-11 13:42:24.235000"},
    {"id":2, "mtbf_end_time": "2024-07-12 13:42:24.235000"},
    {"id":3, "mtbf_end_time": "2024-07-13 13:42:24.235000"},
    {"id":4, "mtbf_end_time": "2024-07-14 13:42:24.235000"},
    {"id":5, "mtbf_end_time": "2024-07-15 13:42:24.235000"},
]

# 初始化最大时间为None
max_time = None

# 遍历列表中的每个项目
for item in items:
    # 将字符串转换为datetime对象
    current_time = datetime.strptime(item["mtbf_end_time"], "%Y-%m-%d %H:%M:%S.%f")
    
    # 如果最大时间还没有设置,或者当前时间大于最大时间,则更新最大时间
    if max_time is None or current_time > max_time:
        max_time = current_time

# 打印最大时间
print(max_time)

在这个示例中,我们使用for循环遍历列表中的每个项目,并使用strptime函数将每个项目的mtbf_end_time字符串转换为datetime对象。然后,我们使用条件语句来检查当前时间是否大于已知的最大时间。如果是,我们就更新最大时间。最后,打印出最大时间。
结果:

2024-07-15 13:42:24.235000
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

魔都吴所谓

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值