You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Dart/Flutter对月份列表进行排序?

解决方案

当然可以实现这个需求,你可以借助Python的datetime模块,通过将日期字符串解析为可比较的时间对象来完成排序,最终返回原格式的有序列表。

代码实现

from datetime import datetime

def sort_month_year(date_list):
    # 以解析后的datetime对象作为排序依据,返回原格式的排序结果
    return sorted(date_list, key=lambda date_str: datetime.strptime(date_str, "%B %Y"))

# 测试示例
myList = ['October 2022', 'January 2023', 'December 2022', 'February 2023', 'November 2022']
newList = sort_month_year(myList)
print(newList)
# 输出结果: ['October 2022', 'November 2022', 'December 2022', 'January 2023', 'February 2023']

关键说明

  • datetime.strptime(date_str, "%B %Y"):把"英文月份全称 4位年份"格式的字符串转换成datetime对象,其中%B匹配英文月份全称,%Y匹配4位数字年份。
  • sorted()的key参数定义了排序的规则,这里用lambda表达式快速生成每个元素对应的时间键,排序完成后返回的仍是原始的字符串元素,不会改变格式。

内容的提问来源于stack exchange,提问作者Ahmed AL-Dilli

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 02:40:02