Как получить минимальные или максимальные даты из списка дат с помощью moment.js?
Я хочу получить максимальную дату из списка дат, указанного в функции handleClick. Как найти максимальную дату из списка дат с помощью moment.js?
У меня есть следующий код:
import React, {Component} from 'react';
import moment from 'moment';
class Getdate extends Component
{
constructor() {
super();
this.state = {
dates = []
}
this.handleClick = this.handleClick.bind(this);
}
handleClick() {
this.state.dates = ['2017-11-12', '2017-10-22', '2015-01-10', '2018-01-01', '2014-10-10'];
console.log(this.state.dates);
}
render{
return (
<button onClick={this.handleClick}>Get Max Date</button>
)
}
}
export default Getdate
2 ответа
Решение
Вы можете использовать функцию moment.max:
let moments = this.state.dates.map(d => moment(d)),
maxDate = moment.max(moments)
Сортируйте их с помощью специального отсека, затем выберите первый (или последний, попробуйте);
array.sort(function(d1, d2) {
return moment(d1).isBefore(moment(d2));
});