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

如何按ISO8601 DateTime的时间部分对数据列表排序

按ISO8601字符串的时间部分排序

核心思路是提取每个日期字符串中的时间片段(即T字符之后的部分),以此作为排序依据——因为ISO8601的时间格式本身按小时、分钟、秒、毫秒顺序排列,字符串直接比较就能得到正确的时间先后顺序。

Python 实现

# 原始数据集
original_dates = [
    "2022-12-06T22:37:49.292343",
    "2022-12-06T18:37:49.300045",
    "2022-12-06T15:37:49.307976"
]

# 提取T之后的时间字符串作为排序key
sorted_dates = sorted(original_dates, key=lambda x: x.split('T')[1])

print(sorted_dates)
# 输出结果:
# ['2022-12-06T15:37:49.307976', '2022-12-06T18:37:49.300045', '2022-12-06T22:37:49.292343']

JavaScript 实现

// 原始数据集
const originalDates = [
    "2022-12-06T22:37:49.292343",
    "2022-12-06T18:37:49.300045",
    "2022-12-06T15:37:49.307976"
];

// 比较两个字符串的时间部分
const sortedDates = originalDates.sort((a, b) => {
    const timeA = a.split('T')[1];
    const timeB = b.split('T')[1];
    return timeA.localeCompare(timeB);
});

console.log(sortedDates);
// 输出结果:
// ['2022-12-06T15:37:49.307976', '2022-12-06T18:37:49.300045', '2022-12-06T22:37:49.292343']

补充说明

如果你的日期字符串包含时区信息(如末尾带Z或+08:00),只需保留提取的时间部分包含时区即可——ISO8601的时区格式同样支持字符串直接比较,不会影响排序结果。

内容的提问来源于stack exchange,提问作者Digamber negi

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 02:41:25