2013-07-24 4 views
0

Я работаю над приложением в Титане, где мне нужно получить все даты в диапазоне от 2 недель.Получите все даты в диапазоне от 2 недель

Например, текущая дата 2013-24-07, мне нужно, чтобы получить все даты до 2013-07-08, как это:

var dates = []; 

dates[0] = '2013-24-07'; 
dates[1] = '2013-25-07'; 
dates[2] = '2013-26-07'; 
dates[3] = '2013-27-07'; 
dates[4] = '2013-28-07'; 
dates[5] = '2013-29-07'; 
dates[6] = '2013-30-07'; 
dates[7] = '2013-31-07'; 
dates[8] = '2013-01-08'; 

И так далее ...

Я сделал a test с кодом, который я нашел here, но я не мог заставить его работать.

Любая помощь очень высоко ценится,

Благодаря

ответ

3

попробовать что-то вроде этого:

// create a extension for Dates like this 
Date.prototype.addDays = function(days) 
{ 
    var dat = new Date(this.valueOf()); 
    dat.setDate(dat.getDate() + days); 
    return dat; 
} 

и использовать что-то вроде:

// create the array 
var dates = []; 

// define the interval of your dates 
// remember: new Date(year, month starting in 0, day); 
var currentDate = new Date(); // now 
var endDate = new Date(2013, 07, 07); // 2013/aug/07 

// create a loop between the interval 
while (currentDate <= endDate) 
{ 
    // add on array 
    dates.push(currentDate); 

    // add one day 
    currentDate = currentDate.addDays(1); 
} 

В конце этого метода dates массив будет содержать даты интервала.

Посмотрите здесь: http://jsfiddle.net/5UCh8/1

2
var start = Date.now(); 
var days = 14; 
var dates = [] 
for(var i=0; i<days; i++) 
    dates.push(new Date(start + (i * 1000 * 60 * 60 * 24)).toDateString()); 
alert(dates) 
+0

Awesome! Спасибо за ваш быстрый ответ, протестировали его в jsFiddle, отлично работает. – Jef

3

Я гугле ваш вопрос, и нашел этот код:

var start = new Date("02/05/2013"); 
var end = new Date("02/10/2013"); 

while(start < end){ 
    alert(start);   

    var newDate = start.setDate(start.getDate() + 1); 
    start = new Date(newDate); 
} 

Позвольте мне знать, если вам нужна помощь с этим , Гудлак

Смежные вопросы