我有一个应用程序,我要求用户在一个月内选择 2 天。4 号或 18 号。当用户选择了这个值时,我会采用该值以及今天的日期。
在我做任何处理之前,我需要增加 25 天的管理工作时间。
day = parseInt(day);
var curDateTime = new Date().getTime(),
timeToAdd = (1000*60*60*24*25),
datePlusDays = new Date(),
finalDate = new Date();
datePlusDays.setTime(timeToAdd + curDateTime);
function incrementToSelected(toIncrement, incrementTo){
var currentDay = parseInt(toIncrement.getDate());
if (currentDay != incrementTo){
var addedDay = new Date();
addedDay.setTime(toIncrement.getTime() + (1000*60*60*24));
incrementToSelected(addedDay, incrementTo );
} else if (currentDay === incrementTo){
finalDate = toIncrement;
}
}
incrementToSelected(datePlusDays, day);
datePlusDays 现在是今天的日期 + 25 天。现在,我需要找到用户选择的下一次出现的日期。
目前,我正在使用上面的方法将一天(1000 * 60 * 60 * 24)添加到日期并检查这是否是下一个事件,如果不是添加另一个,是否设置 finalDate 日期.
这确实有效,但在某些情况下,我会收到最大调用堆栈大小超出错误。有没有其他方法可以找到下一次出现的日期?