Python 对列表中的时间数据进行排序

本文介绍了如何使用Python的datetime模块将中文格式的时间字符串转换为可排序的日期时间对象,并演示了排序过程。

有一个列表,列表中的数据如下所示:
[
“2024年01月23日17时30分”, “2024年01月24日00时00分”, “2024年01月24日06时00分”,
“2024年01月23日18时00分”, “2024年01月24日00时30分”, “2024年01月24日06时30分”,
“2024年01月23日19时00分”, “2024年01月24日01时00分”, “2024年01月24日07时00分”,
]
那么如何给这个列表按时间从近到远排序呢?

首先,这个列表中的时间格式是中文的年月日时分,如果要对其进行排序,可以先将其转换为可以比较的日期时间对象。在Python中,可以使用datetime模块来处理日期时间。以下是一个示例代码,演示如何对这个列表进行排序:

from datetime import datetime

# 原始数据列表
date_strings = [
    "2024年01月23日17时30分", "2024年01月24日00时00分", "2024年01月24日06时00分",
    "2024年01月23日18时00分", "2024年01月24日00时30分", "2024年01月24日06时30分",
    "2024年01月23日19时00分", "2024年01月24日01时00分", "2024年01月24日07时00分",
]
# 将字符串转换为日期时间对象
date_objects = [datetime.strptime(date_str, "%Y年%m月%d日%H时%M分") for date_str in date_strings]

# 对日期时间对象进行排序
sorted_dates = sorted(date_objects, reverse=True)

# 将排序后的数据还原到年月日时分秒格式
result=[]
for date in sorted_dates:
    result.append(date.strftime("%Y年%m月%d日%H时%M分"))
	
print(result)

这段代码首先将日期时间字符串转换为datetime对象,然后使用sorted函数对datetime对象进行排序,然后使用strftime方法将datetime对象转换回字符串格式,最后输出排序后的结果。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

jiakskingdom

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

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

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

打赏作者

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

抵扣说明:

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

余额充值