Как создать фильтр даты Javascript как слайдер (не календарь)? - PullRequest
1 голос
/ 12 сентября 2011

Я создаю фильтр дат на основе Javascript для фильтрации файлов с метаданными date_created. Я хочу создать этот фильтр даты в виде ползунка диапазона с максимальным / минимальным (статическим) и текущим выбором. Для этого собираемся использовать компонент слайдера jQuery UI. Видимый вывод должен быть всегда в формате дд / мм / гггг, и я покажу его для селекторов диапазона мин / макс и от / до.

При разработке я пришел к вопросу, какой формат мне нужно использовать для скрытой части, чтобы делать шаги внутри слайдера. Каждый шаг должен быть 1 день. Я решил попробовать с Unix на скрытой стороне. Так что я могу легко конвертировать Unix в дд / мм / гггг с помощью моей функции Javascript:

function unixToDate(timestamp){
  var date = new Date(timestamp * 1000);
  var d = date.getDate(),
      m = date.getMonth() + 1,
      y = date.getFullYear();
  return d + "/" + m + "/" + y;
}

И эта функция хорошо работает для меня, однако, если шаг == 1 день, мне нужно 1-дневное значение в Unix для сложения (+) и вычитания (-), когда пользователь перемещает слайдер. Так что же это за значение 1 дня в Unix, которое я могу добавить или вычесть при изменении диапазона?

Или любые другие альтернативы, чтобы сделать фильтр даты в виде слайдера ...

1 Ответ

1 голос
/ 12 сентября 2011

Один день равен currentTimeInUnixTime + (60 * 60 * 24). Это потому, что время Unix - это просто секунды с начала эпохи.60 секунд составляют одну минуту.60 минут составляют час.И 24 часа составляют день.Умножьте их все и добавьте их к текущему времени Unix, которое вам нужно, чтобы получить время Unix на следующий день.

...