日期变量没有方法addDays

时间:2014-11-08 05:57:16

标签: javascript jquery asp.net

我有两个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);输出无效日期:(

1 个答案:

答案 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));
                }

JSFIDDLE

参考文献 DATE documentation