Javascript日期

Nat*_*itt 2 javascript date

我试图让一个月范围插入到CAML查询中,即:2010-09-01和2010-09-30.

我使用以下代码生成这两个值:

var month = "10/2010";
var monthArray = month.split("/");
var startDate = new Date(monthArray[1], monthArray[0]-1, 1);
var endDate = new Date(startDate);
endDate.setMonth(startDate.getMonth()+1, startDate.getDate()-1);
Run Code Online (Sandbox Code Playgroud)

运行此代码:

alert("month: " + month + 
      "\nstartDate: " + startDate.toDateString() + 
      "\nendDate: " + endDate.toDateString()); 
Run Code Online (Sandbox Code Playgroud)

生成正确的日期(公司政策要求IE7):

---------------------------
Windows Internet Explorer
---------------------------
month: 10/2010
startDate: Fri Oct 1 2010
endDate: Sun Oct 31 2010
---------------------------
OK   
---------------------------
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试解析为ISO 8601格式(对于CAML查询)时,我得到错误的日期.

var endISO8601 = endDate.getUTCFullYear() + "-" + 
                 endDate.getUTCMonth() + "-" + 
                 endDate.getUTCDate() + "T19:59:00Z";
alert("endDate: " + endDate.toDateString() + 
      "\nendISO8601: " + endISO8601);

---------------------------
Windows Internet Explorer
---------------------------
endDate: Sun Oct 31 2010
endISO8601: 2010-9-31T19:59:00Z
---------------------------
OK   
---------------------------
Run Code Online (Sandbox Code Playgroud)

不幸的是,我不允许使用Datejs.

ein*_*nus 5

我想你只是忘记在月份中添加一个(javascript在javascript中为0)