gpt4 book ai didi

javascript - Javascript 中的动态日期计算

转载 作者:行者123 更新时间:2023-11-29 17:45:42 24 4
gpt4 key购买 nike

我有两个 dijit/form/DateTextBox 的数据选择器。一个用于开始日期,另一个用于结束日期。

我想检查“Enddate > startdate+ 90days 3month)”,如果是,那么我需要将结束日期重置为 startdate+ 90days。

从 DateTextBox 2018-04-25 获取的格式。请帮忙解决这个问题

var fromDate=digit.byId('startDate');

if(fromDate!=null) {

var fromtimestamp=new Date(digit.byId('startDate')).getTime();
var endtimestamp=new Date(digit.byId('endDate')).getTime();
var timestamp= new Date(digit.byId('startDate')).getTime+ (30 *24*60*60*1000);

if(endtimestamp>timestamp) {
// wants to reset with startdate+ 90days
}
}

最佳答案

你可以做到这一点,但使用 dateBox min constaraint 在开始日期设置更改事件,然后设置 digit.byId('endDate').constraints.min 开始日期 + 90作为:

digit.byId('startDate').on("change",function() {
var end = new Date(this.value);
end.setDate(end.getDate() + 90);
digit.byId('endDate').constraints.min = end;
})

请参阅下面的程序片段:

require(["dijit/form/DateTextBox", "dijit/form/Button","dojo/on" ,
"dojo/domReady!"
], function(DateTextBox,Button, On ) {

var startdate = new DateTextBox({
constraints:{
datePattern:'yyyy-MM-dd'
}
}, "startDate");

var enddate = new DateTextBox({
constraints:{
datePattern:'yyyy-MM-dd'
}
}, "endDate");

startdate.on("change",function() {
var end = new Date(this.value);
end.setDate(end.getDate() + 90);
enddate.constraints.max = end;
enddate.constraints.min = new Date(this.value);
})

});
<link href="https://ajax.googleapis.com/ajax/libs/dojo/1.10.0/dijit/themes/claro/claro.css" rel="stylesheet"/>
<script src="//ajax.googleapis.com/ajax/libs/dojo/1.10.4/dojo/dojo.js"></script>

<body class="claro">
start :<div id="startDate" ></div>

end : <div id="endDate" ></div>
</body>

关于javascript - Javascript 中的动态日期计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50020423/

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