конвертировать дату из строкового формата и сортировать - PullRequest
0 голосов
/ 06 июня 2019

Я получаю даты в строковом формате из бэкэнда и хочу отсортировать даты в порядке возрастания

Я хочу отсортировать данные по дате

array.sort(function(a, b) {
  return new Date(parseInt(a.ResultTimestamp)).getTime() - new Date(parseInt(a.ResultTimestamp)).getTime();
});

формат даты, который я получаю от бэкэнда

"ResultTimestamp": "2019-01-06-00.55.39.109000"

1 Ответ

1 голос
/ 06 июня 2019

Насколько я знаю (и, возможно, недостаточно), вам нужна пользовательская функция синтаксического анализа, извлекающая все сегменты даты и создающая новый экземпляр Date.

function parseDate(date) {
  const [year, month, day, time] = date.split('-');
  const [hours, minutes, seconds, fr] = time.split('.');
  return new Date(year, month, day, hours, minutes, seconds).getTime();
}

const array = ['2018-01-06-00.55.39.109000', '2019-01-06-00.55.39.109000'];

array.sort(function(a, b) {
  return parseDate(b) - parseDate(a);
});

console.log(array);

Я упрощаю пример, дайте мне знать, если что-то не понятно.

...