我有两个TextBoxes
,其中我得到了两个日期并在这两个日期之间获得了一系列日期。我有一个代码
$(".txtto").change(function () {
var dates = new Array();
var dateto = new Date();
var datefrom = new Date();
dateto.format("dd/mm/yyyy");
datefrom.format("dd/mm/yyyy");
dateto = $(this).val();
datefrom = $(".datefrom").val();
while (datefrom <= dateto) {
dates.push(new Date(datefrom));
datefrom = datefrom.addDays(1);
}
});
但它给出了错误Uncaught TypeError: Object 18/11/2014 has no method 'addDays'
18/11/2014
是输入日期。
修改1:
同时我试过这个
$(".txtto").change(function () {
var dates = new Array();
var dateto = new Date();
var datefrom = new Date();
dateto.setDate($(this).val());
dateto.format("dd/mm/yyyy");
console.log(dateto);
datefrom.setDate($(".datefrom").val());
while (datefrom <= dateto) {
dates.push(new Date(datefrom));
datefrom = datefrom.setDate(datefrom.getDate() + 1);
}
});
但console.log(dateto);
输出无效日期:(
答案 0 :(得分:1)
我认为没有类似addDays()
的方法 - 您需要使用setDate()
:
datefrom.setDate(now3.getDate() - 4);
使用dd/MM/yyyy
dateto.format("dd/MM/yyyy");
像这样改变你的循环
while (datefrom <= dateto) {
dates.push(new Date(datefrom));
datefrom = new Date(datefrom.setDate(datefrom.getDate() + 1));
}
参考文献 DATE documentation