Как конвертировать json объект в даты? - PullRequest
0 голосов
/ 24 марта 2020

Я использую flatpicker диапазон и onChange Я делаю:

onChange: function(dateObj, dateStr) {
  console.info(dateObj, dateStr);

Это дает мне в консоли:

0: Tue Mar 10 2020 00:00:00 GMT+0100 (Ora standard dell’Europa centrale) {}
1: Thu Mar 12 2020 00:00:00 GMT+0100 (Ora standard dell’Europa centrale) {}

Но я не уверен, как преобразовать это в d m Y

Поиск этого формата без часового пояса: 1/23/2020

Что-то вроде:

var dateStart = new Date(data.from);
var dateEnd = new Date(data.to);
dateStart.setHours(0, 0, 0, 0);
dateEnd.setHours(0, 0, 0, 0);

1 Ответ

1 голос
/ 24 марта 2020

Flatpicker имеет опцию для указания формата (dateFormat), в вашем случае, так как вы работаете с диапазонами, второй аргумент для обратного вызова onChange будет иметь этот формат: [date value] to [date value], чтобы создать Массив дат в нужном формате из этой строки можно использовать secondArgument.split(' to '), вот пример:

flatpickr("#dateInput", {
  mode: "range",
  dateFormat: "d/m/Y",
  onChange: (_, dateRangeStr) => {
    const datesStrArr = dateRangeStr.split(" to ");
    console.log(datesStrArr);
  }
});
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/flatpickr/dist/flatpickr.min.css">
<script src="https://cdn.jsdelivr.net/npm/flatpickr"></script>
<input id="dateInput" />
...