首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Date.setDate()在函数中每次递增日期

Date.setDate()在函数中每次递增日期
EN

Stack Overflow用户
提问于 2018-06-29 14:09:10
回答 1查看 44关注 0票数 0

当我根据当前日期设置最大日期时出现问题。

代码如下:

代码语言:javascript
运行
复制
var minDate = new Date();
var maxDate = new Date();

function myFunction() {
  maxDate.setDate(new Date().getDate() + 60);
  document.getElementById("demo").innerHTML = maxDate;
}
代码语言:javascript
运行
复制
<p>Click the button to display the maxDate</p>
<button onclick="myFunction()">Try it</button>
<p id="demo"></p>

每次我点击一个按钮,日期就会增加60天。

我想用日期输入中输入的日期进行验证,我的验证如下所示。

输入的日期应介于当前日期和当前日期之后的60天之间。

代码语言:javascript
运行
复制
Output:
On click of button.
1st Click : Tue Aug 28 2018 11:36:52 GMT+0530 (India Standard Time)
2nd Click : Sun Oct 28 2018 11:36:52 GMT+0530 (India Standard Time)
3rd Click : Fri Dec 28 2018 11:36:52 GMT+0530 (India Standard Time)

请帮帮忙。

EN

回答 1

Stack Overflow用户

发布于 2018-06-29 14:18:38

new Date().getDate()根据本地时间返回当前日期的月份日期-我当前的本地日期是29 June 2018,因此它返回29。

这意味着new Date().getDate() + 60返回89。

maxDate.setDate(89)设置maxDate对象相对于当前设置的月份开始的日期。

maxDate在全局范围内-这意味着当前在maxDate中设置的月份在每次点击后都会发生变化。

尝试使maxDate成为函数的本地函数:

代码语言:javascript
运行
复制
function myFunction() {
  let maxDate = new Date();
  maxDate.setDate(new Date().getDate() + 60);
  document.getElementById("demo").innerHTML = maxDate;
}
代码语言:javascript
运行
复制
<p>Click the button to display the maxDate</p>
<button onclick="myFunction()">Try it</button>
<p id="demo"></p>

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51095290

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档