2015-07-22 87 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天。