gpt4 book ai didi

javascript - TypeError : *. getMonth 不是函数

转载 作者:搜寻专家 更新时间:2023-11-01 04:57:12 25 4
gpt4 key购买 nike

我正在尝试构建一个 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 today = new 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 中月份是从零开始编号的。

编辑日期之前一个日期只是传递一个负数。

关于javascript - TypeError : *. getMonth 不是函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22414903/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com