我正在尝试构建一个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;
}
但是开发人员的控制台不断告诉我date1.getMonth不是一个函数。我很困惑,因为我一直在看的所有教程和示例都是基于以下内容:“今天的var =新的Date();今天的var month = today.getMonth()+ 1;”
这是实现问题吗?
该setDate()
函数会更改其上下文日期。它不返回新的Date实例。
如果要创建一个比另一个日期要早几天的新日期实例:
function daysAfter(d, days) {
var nd = new Date(d.getTime());
nd.setDate(d.getDate() + days);
return nd;
}
然后,如果您有日期,则可以在日期之后14天创建日期,如下所示:
var someDate = ... whatever ... ;
var fourteenDaysAfter = daysAfter(someDate, 14);
然后,您可以使用.getMonth()
和.getDate()
访问器进行所需的任何格式设置。请记住,JavaScript中的月份从零开始编号。
编辑日期之前的日期,只需传递一个负数即可。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句