我有一个场景,我想要实现以下目标:
我有以下变量:
StartDate = 16/02/2016
EndDate = 18/02/2016
StartTime 09:00:00
FinishTime 17:00:00
由此我尝试创建一个可以取StartDate
和EndDate
的函数,并将所有值存储在多维数组中。所以数组会显示:
startDate endDate
16/02/2016 09:00:00 16/02/2016 17:00:00
17/02/2016 09:00:00 16/02/2016 17:00:00
18/02/2016 09:00:00 16/02/2016 17:00:00
目前我正在使用2个septate函数和2个独立的数组来获得结果但是我不觉得这是一个好的练习或高效,但是想不出让这个代码更好的方法,请你看看它和它提出更好的建议吗?
在阵列上使用window.alert()
现在已经足够了:)谢谢你的帮助
代码(已修订):
function getDates(startDate, stopDate) {
var dateArray = new Array();
var currentDate = startDate;
while (currentDate <= stopDate) {
dateArray.push(currentDate)
currentDate = currentDate.addDays(1);
}
return dateArray;
}
Date.prototype.addDays = function (days) {
var dat = new Date(this.valueOf())
dat.setDate(dat.getDate() + days);
return dat;
}
myapp.TestScreen.Test_execute = function (screen) {
var sDate = new Date(screen.StartDate);
var eDate = new Date(screen.EndDate);
var nightCount = -1;
var fullDateArray = [];
var dateArray = getDates(sDate, eDate);
for (i = 0; i < dateArray.length; i++) {
var tempSdate = new Date (dateArray[i])
var tempEdate = new Date(dateArray[i])
tempSdate.setHours(9);
tempSdate.setMinutes(0);
tempEdate.setHours(17);
tempEdate.setMinutes(0);
fullDateArray.push(tempSdate);
fullDateArray.push(tempEdate);
nightCount++;
}
for (i = 0; i < fullDateArray.length; i++) {
console.log(fullDateArray[i]);
}
答案 0 :(得分:0)
问题移动到另一个论坛,因为代码有效,只需要改进