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

如何在Flutter中基于日期时间对List列表项进行排序

商品列表按日期字段排序实现方案

核心逻辑

  • 你使用的YYYY-MM-DD HH:mm:ss.SSS格式日期字符串,字典序和时间先后顺序完全一致,既可以直接对比字符串排序,也可以转成时间戳/日期对象后对比,后者兼容性更强,可规避特殊格式的排序异常。
  • 如果需要按时间倒序排序,调换比较逻辑里的前后元素位置即可。

JavaScript 实现代码

const items = [
    {
      "productName":"Icecream",
      "date":"2019-10-17 10:06:12.278"
    },
    {
      "productName":"Juice",
      "date":"2021-09-20 19:08:16.274"
    },
    {
      "productName":"Rice",
      "date":"2020-05-13 08:02:16.177"
    },
    {
      "productName":"Cheese",
      "date":"2021-10-23 20:02:16.254"
    },
    {
      "productName":"Sugar",
      "date":"2019-11-22 00:00:00.000"
    },
];

// 方案1:转日期对象比较,兼容性好
const sortedList = items.sort((a, b) => new Date(a.date) - new Date(b.date));

// 方案2:直接对比字符串,性能更高
// const sortedList = items.sort((a, b) => a.date.localeCompare(b.date));

Python 实现代码

from datetime import datetime

items = [
    {
      "productName":"Icecream",
      "date":"2019-10-17 10:06:12.278"
    },
    {
      "productName":"Juice",
      "date":"2021-09-20 19:08:16.274"
    },
    {
      "productName":"Rice",
      "date":"2020-05-13 08:02:16.177"
    },
    {
      "productName":"Cheese",
      "date":"2021-10-23 20:02:16.254"
    },
    {
      "productName":"Sugar",
      "date":"2019-11-22 00:00:00.000"
    },
]

sorted_list = sorted(items, key=lambda x: datetime.strptime(x['date'], '%Y-%m-%d %H:%M:%S.%f'))

Java 实现代码

import com.alibaba.fastjson.JSONObject;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.List;
import java.util.Comparator;

public class ProductSort {
    public static void main(String[] args) throws ParseException {
        List<JSONObject> items = // 初始化你的商品列表
        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
        // 按日期升序排序
        items.sort(Comparator.comparing(item -> {
            try {
                return dateFormat.parse(item.getString("date"));
            } catch (ParseException e) {
                throw new RuntimeException("日期格式解析异常", e);
            }
        }));
    }
}

内容的提问来源于stack exchange,提问作者Muk System

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 13:06:05