我正在尝试根据开始日期和结束日期在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;
};
};
答案 0 :(得分:3)
您的循环签名错误。
它们应与;
分隔,而不是,
正确的javascript for循环是这样的:
for(var i = 0; i <= 1000; i++){
}
此处使用var
语句也被认为是最佳做法,因为javascript会提升您的i
变量,使其成为函数或最坏情况下的整个js文件的全局。