Фильтрация массива по датам
У меня собирается массив из календаря, то есть когда я нажимаю на календаре на дату, то она заносится в массив и выходит такой массив ['дата от', 'дата до'], потом у меня есть еще один массив который берет данные с excel, в нем первый элемент это дата, и мне нужно как-то фильтровать этот массив чтобы там были данные от такой даты - до такой даты
и вот массив с началом даты и концом
Нужно вывести массив с данными между этими датами
Ответы (1 шт):
JavaScript может распознать текущую дату из строки вроде "2022-10-2":
const date = new Date("2022-10-2") // Всё ок.
Из этого можно получить временную метку:
const timestamp = date.getTime();
Она в свою очередь легко поддается манипуляциям.
Я точно не знаю строки в каких форматах распорзнаются для получения текущей даты. Однако даже если у Вас есть только месяц и день, можно преобразовать это в строку похожую на ту, которая выше: год-месяц-день
Например:
let label = "06.10";
label = [ "2022", ...label.split(".").reverse() ]
.join("-"); // "2022-10-06"
const date = new Date(label);
Надеюсь, с тем, чтобы отфильтровать массив временных меток, проблем у Вас не возникнет
Изменено:
new Date() поддерживает такой формат: "06.04.2022", что очень удобно. Но всё-равно меняет день и месяц местами (6 месяц, 4 день). Будьте с этим осторожны)
![['06.10', 321, 45600, 0.7039473684210527, 34567, 45600, 23, 45600, 0.5, 4234, 4234, 4311, 3245, 422, 23, 34532, 77685, 4234, 4234, 4311, 3245, 422, 23]](https://i.stack.imgur.com/0VJwm.png)