如何按时间顺序(asc/desc)排序日期表格?技术求助
按时间排序后的日期表格
先直接给你整理好的按时间从早到晚排序后的表格:
| Date |
|---|
| 09/02/2017 02:31 AM |
| 11/29/2017 09:30 PM |
| 01/03/2018 02:31 AM |
| 01/13/2018 03:00 AM |
| 03/01/2018 03:00 AM |
实现排序的方法(以JavaScript为例)
如果是在代码里处理这类日期字符串的排序,核心是先把字符串转换成可比较的Date对象,再进行排序。这里因为日期格式是MM/DD/YYYY HH:MM AM/PM,JavaScript的Date构造函数可以直接解析这种格式,实现起来很简单:
// 原始日期数组 const dates = [ "01/03/2018 02:31 AM", "01/13/2018 03:00 AM", "09/02/2017 02:31 AM", "11/29/2017 09:30 PM", "03/01/2018 03:00 AM" ]; // 排序:将字符串转为Date对象后比较 const sortedDates = dates.sort((a, b) => new Date(a) - new Date(b)); console.log(sortedDates); // 输出结果就是上面表格里的顺序
小提示
- 如果你的日期格式比较特殊(非标准格式),可能需要手动拆分年、月、日、时、分来构造
Date对象,避免解析出错。 - 如果要从晚到早排序,只需要把排序函数改成
new Date(b) - new Date(a)就行。
内容的提问来源于stack exchange,提问作者T.J.
相关产品推荐
相关产品推荐

