使用 date-fns 的 max 函数从日期字符串数组中查找最大日期
Find max date from a string array of dates using max function of date-fns
日期字符串数组由后端数据对象构造如下:
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) 是 "object"
如何在jsdates数组中找到获取最新的日期?
是否可以应用date-fns的max功能?
我可以提供一种解决方案,使用 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));
将每个转换为 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]
)
日期字符串数组由后端数据对象构造如下:
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) 是 "object"
如何在jsdates数组中找到获取最新的日期?
是否可以应用date-fns的max功能?
我可以提供一种解决方案,使用 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));
将每个转换为 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]
)