Javascript - 在2天之间获得多个日期条目(2次)effieicenty

时间:2016-02-16 16:14:58

标签: javascript

我有一个场景,我想要实现以下目标:

我有以下变量:

StartDate = 16/02/2016
EndDate = 18/02/2016

StartTime 09:00:00
FinishTime 17:00:00

由此我尝试创建一个可以取StartDateEndDate的函数,并将所有值存储在多维数组中。所以数组会显示:

     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]);
    }

以上代码用于: javascript - get array of dates between 2 dates

1 个答案:

答案 0 :(得分:0)

问题移动到另一个论坛,因为代码有效,只需要改进