0

日期字符串数组由后端数据对象构造,如下所示:

const dates: string[] = this.data.map((item:any) => item.date.jsdate);

结果是

dates = [
    Thu Jan 12 2015 00:00:00 GMT+0530 (India Time), 
    Tue Feb 25 2015 00:00:00 GMT+0530 (India Time), 
    Sun Jan 28 2016 00:00:00 GMT+0530 (India Time)
]

typeof(dates) 是“对象”

如何在 jsdates 数组中找到获取最新日期?

是否可以应用 date-fns 的 max 函数?

4

2 回答 2

2

我可以提供一种解决方案,使用 momentjs ( https://momentjs.com/ ) 库。

您可以使用以下方法对日期进行排序:

dates = dates.sort((a,b) => moment(a).diff(moment(b));

然后,如果您想要最新日期,则可以从该数组中获取最后一个元素:

return dates[dates.length-1];

您也应该能够立即执行此操作:

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

于 2018-09-25T13:50:33.953 回答
0

将每个转换为Date对象并使用getTime()函数进行比较。

var dates = [
    'Thu Jan 12 2015 00:00:00 GMT+0530 (India Time)', 
    'Tue Feb 25 2015 00:00:00 GMT+0530 (India Time)', 
    'Sun Jan 28 2016 00:00:00 GMT+0530 (India Time)'
]

console.log(
  dates.sort((a,b)=>new Date(b).getTime() - new Date(a).getTime())[0]
)

于 2018-09-25T14:50:45.963 回答