如何在Flutter中排序DateTime列表?

时间:2019-12-03 15:26:57

标签: flutter

你好,我有一个日期列表

  dateList = [ '2019-12-03 00:25', '2019-12-03 00:20', '2019-12-03 00:45', '2019-12-03 00:46'];

我尝试这样排序

  dateList = [ '2019-12-03 00:20', '2019-12-03 00:25', '2019-12-03 00:45', '2019-12-03 00:46'];

我尝试了

dateList.sort((a,b) => a.compareTo(b)); 

但结果为空...

2 个答案:

答案 0 :(得分:1)

由于日期是String数据类型,因此在使用sort方法时,我们需要将比较器转换为String。下面的工作代码:

print(dateList..sort((a,b) => a.toString().compareTo(b.toString())));

注意:我使用方法级联(..),因为sort是一个无效方法。

输出:

[2019-12-03 00:20, 2019-12-03 00:25, 2019-12-03 00:45, 2019-12-03 00:46]

希望这能回答您的问题。

答案 1 :(得分:0)

您可以尝试下面的JavaScript代码。

var dateList = [ '2019-12-03 00:25', '2019-12-03 00:20', '2019-12-03 00:45', '2019-12-03 00:46'];

dateList.sort((a,b) => new Date(a).getTime() - new Date(b).getTime());