在Javascript中创建日期数组

时间:2013-04-25 15:00:57

标签: javascript

我正在尝试根据开始日期和结束日期在Javascript中创建日期数组。我需要日期格式看起来像2013-04-25

我的代码显然不起作用,但我似乎无法弄清楚原因。有人可以帮忙吗?

//get today's date
var today = new Date();
today.setDate(today.getDate());

//get date from last week -7
var prevWeek = new Date();
prevWeek.setDate(prevWeek.getDate() -7);

//set initial date parameters
  var fromDate = prevWeek;
  var toDate = today;

//set date parameters to input parameters
function setDates() {
    fromDate =document.getElementById('fromDate').value;
    toDate = document.getElementById('toDate').value;
};

var dates = new Array();

//create date array
function setArray() {
    for(i = fromDate.getDate(), i <= toDate.getDate(), i.setDate(i.getDate() +1))
    {
    dates.push(new Date(i));
    };
};

//format date array
function formDates() {
    for(i = 0, i <= dates.length, i++)
    {
        var dd = dates[i].getDate();
        var mm = dates[i].getMonth()+1;
        var yyyy = dates[i].getFullYear();
        if(dd<10)   {dd = '0' + dd};
        if(mm<10){mm = '0' + mm};
        dates[i] = yyyy + '-' + mm + '-' + dd;
    };
};

1 个答案:

答案 0 :(得分:3)

您的循环签名错误。

它们应与;分隔,而不是,

正确的javascript for循环是这样的:

for(var i = 0; i <= 1000; i++){
}

此处使用var语句也被认为是最佳做法,因为javascript会提升您的i变量,使其成为函数或最坏情况下的整个js文件的全局。