Чтобы отсортировать массив дат строк ISO в порядке возрастания или убывания, вы можете использовать следующие методы:
-
Array.sort():
- Преобразуйте даты строк ISO в объекты Date с помощью функции new Date().
- Используйте метод Array.sort() со специальной функцией сравнения для сортировки дат.
- При необходимости преобразуйте отсортированные объекты Date обратно в строковый формат ISO.
Пример:
const dates = ["2023-08-15T12:30:00Z", "2023-07-10T08:00:00Z", "2023-09-05T17:45:00Z"]; const sortedDates = dates.sort((a, b) => new Date(a) - new Date(b)); console.log(sortedDates); -
Intl.DateTimeFormat():
- Преобразуйте даты строк ISO в объекты Date с помощью функции new Date().
- Используйте конструктор Intl.DateTimeFormat() для форматирования дат в зависимости от языкового стандарта.
- Отсортируйте отформатированные даты с помощью Array.sort().
Пример:
const dates = ["2023-08-15T12:30:00Z", "2023-07-10T08:00:00Z", "2023-09-05T17:45:00Z"]; const sortedDates = dates.sort((a, b) => new Date(a) - new Date(b)) .map(date => new Intl.DateTimeFormat('en-US').format(new Date(date))); console.log(sortedDates); -
Moment.js:
- Используйте библиотеку Moment.js для анализа и управления датами строк ISO.
- Сортируйте даты с помощью метода sort(), предоставляемого Moment.js.
Пример:
const moment = require('moment'); const dates = ["2023-08-15T12:30:00Z", "2023-07-10T08:00:00Z", "2023-09-05T17:45:00Z"]; const sortedDates = dates.sort((a, b) => moment(a).diff(moment(b))); console.log(sortedDates);