2015-07-22 84 views
0

30天到了下面的代码作为参考 ,我试图之前日期列表以获得30天的所有细节的日期。 我应该替换什么?我们怎样才能之前在javascript

Date.prototype.addDays = function(days) { 
     var dat = new Date(this.valueOf()) 
     dat.setDate(dat.getDate() + days); 
     return dat; 
    } 

    function getDates(startDate, stopDate) { 
     var dateArray = new Array(); 
     var currentDate = startDate; 
     while (currentDate <= stopDate) { 
     dateArray.push(currentDate) 
     currentDate = currentDate.addDays(1); 
     } 
     return dateArray; 
    } 

var dateArray = getDates(new Date(), (new Date()).addDays(2)); 
for (i = 0; i < dateArray.length; i ++) { 
    alert (dateArray[i]); 
} 
+0

请问您在日期列表_30天前详细说明_ – Satpal

+1

我想建议您使用MomentJS库http://momentjs.com/docs/ –

+0

所以您需要一个带有Date对象的数组从今天开始算倒数? – Esso

回答

0

Date.prototype.setDays = function(days) { 
 
     var dat = new Date(this.valueOf()) 
 
     dat.setDate(dat.getDate() + days); 
 
     return dat; 
 
} 
 

 
    function getDates(startDate, counter) { 
 
     var dateArray = new Array(); 
 
     var currentDate = startDate; 
 
\t //To get non-Zero Index to run the loop 
 
\t var index=(counter > 0 ? counter : -counter); 
 
     while (index > 0) { 
 
     // Do not push the current date ::Optional dateArray.push(currentDate) 
 
\t \t //Will send days as +(after) and -(before) 
 
     currentDate = currentDate.setDays(counter > 0 ? 1 : -1); 
 
\t \t 
 
\t \t //Push the date after the operation 
 
\t \t dateArray.push(currentDate); 
 
\t \t 
 
\t \t --index; 
 
     } 
 
     return dateArray; 
 
    } 
 

 
var dateArray = getDates(new Date(), 2); 
 
$.each(dateArray||[],function(index,dateItem){ 
 
\t console.log("Date "+ dateItem); \t 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>

这里是你可以尝试只发送差的代码。 可以说+30天或-30天。