0

我正在开发 Titanium 中的应用程序,我需要在 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';

等等...

我用我在这里找到的代码进行了测试,但我无法让它工作。

很感谢任何形式的帮助,

谢谢

4

3 回答 3

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

如果您需要帮助,请告诉我。祝你好运

于 2013-07-24T18:47:29.007 回答
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

于 2013-07-24T18:47:34.250 回答
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)
于 2013-07-24T18:46:01.473 回答