TypeError:*.getMonth不是函数

Jas*_*yce 4 javascript jquery datepicker

我正在尝试构建一个javascript函数,该函数将自动填充日历的14天,日期最后一个日期,由日期选择器选择.到目前为止我的代码是:

function filldates() {

datepicked = document.getElementById("period-ending").value;
s = datepicked.split('/');
enddate = new Date(s[2], s[0], s[1]);
date1 = enddate.setDate(enddate.getDate()-14);
day1 = date1.getMonth() + 1;
month1 = date1.getDate();
var firstday = day1 + '/' + month1;
document.getElementById("date-1").value = firstday;
}
Run Code Online (Sandbox Code Playgroud)

但是开发人员的控制台一直告诉我,date1.getMonth不是一个函数.我很困惑,因为我一直在研究的所有教程和示例都基于以下内容:"var today = new Date(); var month = today.getMonth()+ 1;"

这是一个实施问题吗?

Poi*_*nty 11

setDate()函数改变其上下文日期.它不会返回新的Date实例.

如果要创建一个比另一个更早几天的新日期实例:

function daysAfter(d, days) {
  var nd = new Date(d.getTime());
  nd.setDate(d.getDate() + days);
  return nd;
}
Run Code Online (Sandbox Code Playgroud)

然后,如果你有一个约会,你可以在14天之后创建一个日期:

var someDate = ... whatever ... ;
var fourteenDaysAfter = daysAfter(someDate, 14);
Run Code Online (Sandbox Code Playgroud)

然后,您可以使用.getMonth().getDate()访问器执行您想要的任何格式.请记住,在JavaScript中,月份从零开始编号.

在日期之前编辑日期只传递负数.