Я использовал плагин под названием jQRnageSlider и попытался получить ярлык даты и времени, показанный на слайдере, но когда я прокручу назад ползунок до прошлого года, месяц 12
окажется в конечном итоге 11
.Как получить дату за месяц до текущей даты, когда текущая дата - январь?
Нормальный случай, если я не прокручивать назад и в прошлом году.
Он подскочил до ноября 2016 года сразу
Это должно быть вопрос о проблеме форматирования даты. Может ли кто-нибудь помочь?
$(".date-range-slider").dateRangeSlider({
...
formatter: function(val){
var days = ('0' + val.getDate()).slice(-2),
month = ('0' + val.getMonth() + 1).slice(-2),
year = val.getFullYear(),
hour = ('0' + val.getHours()).slice(-2),
min = ('0' + val.getMinutes()).slice(-2);
return days + "-" + month + "-" + year + " " + hour + ":" + min;
}
});
При использовании функции даты/времени, много через приложение, я рекомендую смотреть на moment.js - это решит многие из этих проблем для вас. – MickRip
Проблема может быть здесь '('0' + val.getMonth() + 1)', потому что сначала идет конкатенация строки '('0' + month)', которая приводит к строке, а затем вы добавляете другую '1' в эту строка. Вероятно, вы хотите '('0' + (val.getMonth() + 1))'. – Rafael
Ваша функция работает нормально: https://jsfiddle.net/86hdnnno/ Возможно, аргумент «val» не имеет месяца 11 в декабре? – Potray