Как изменить дату и отфильтровать данные по месяцу, когда каждая дата сохраняется по-разному? - PullRequest
0 голосов
/ 08 января 2019

У меня есть массив дат:

["Mon Dec 17 2018 16:36:04 GMT+0100 (Central European Standard Time)", 1545064594, 1545294858, "Thu Dec 20 2018 09:37:16 GMT+0100 (Central European Standard Time)", 1545306111, 1545310335, "Thu Dec 20 2018 12:46:48 GMT+0100 (Central European Standard Time)", 1545319619, 1545742063, 1545918029, 1546602411, 1546602745, 1546957949]

как вы можете видеть, каждая дата написана по-разному .... Я хотел бы сделать заявление if - что если длина значения равна длине эпохи, тогда дату следует изменить ... пока я написал этот код :

 const Month = [];
 for (let i = 0; i < database.length; i++) {
 Month.push(database[i].date);
  }
 console.log(Month);


  if (Month == 18){
  console.log(Month.length)


  var utcSeconds = Month
  var d = new Date(0); 
  d.setUTCSeconds(utcSeconds);
  console.log (d)

}

Я получил даты и массив, а также код Epoch ... но моя проблема в том, что не все они являются датами Epoch, поэтому я не понимаю, как это сделать ... и позже я все еще хотел бы фильтровать данные и разделять их на декабрь / январь как 2 отдельных массива (мне нужны эти данные для панели инструментов). Я буду признателен за любую помощь.

1 Ответ

0 голосов
/ 08 января 2019

Числовые значения кажутся временем, начиная с эпохи в секундах, вы можете преобразовать все значения в массиве в Date объекты, используя что-то вроде этого:

let arr = ["Mon Dec 17 2018 16:36:04 GMT+0100 (Central European Standard Time)", 1545064594, 1545294858, "Thu Dec 20 2018 09:37:16 GMT+0100 (Central European Standard Time)", 1545306111, 1545310335, "Thu Dec 20 2018 12:46:48 GMT+0100 (Central European Standard Time)", 1545319619, 1545742063, 1545918029, 1546602411, 1546602745, 1546957949];


arr = arr.map(v => {
  if (!isNaN(v)) {
    v *= 1000; // from seconds to milliseconds
  }
  return new Date(v);
})

console.log(arr.map(v => v.toString()));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...