日期对象在javascript中未返回正确的日期值

日期对象在javascript中未返回正确的日期值,javascript,date,Javascript,Date,可能重复: 我有这个功能: function myFunction(){ var d = new Date(2012,9,1); var x = document.getElementById("demo");//some element demo x.innerHTML=d.getDay(); } 我想把工作日定在任何一个月的第一天。代码在上面(示例)。 这不是应该返回一个值为6的星期六吗?它没有给出正确的值。在这种情况下,它给出1。看起来很简单,但我遗漏了一些东西。 我是不是误解了

可能重复:

我有这个功能:

function myFunction(){
 var d = new Date(2012,9,1);
var x = document.getElementById("demo");//some element demo

x.innerHTML=d.getDay();

}
我想把工作日定在任何一个月的第一天。代码在上面(示例)。 这不是应该返回一个值为6的星期六吗?它没有给出正确的值。在这种情况下,它给出1。看起来很简单,但我遗漏了一些东西。 我是不是误解了这个等式

请告诉我

一些编辑:虽然有点不同,但还是在同一行

 function myFunction()
{

for(i=0;i<12;i++){

  var d = new Date(2012,i,0);

  k=i+1;

  var x = document.getElementById(""+k);

   x.innerHTML=d.getDate()+" "+i;


  }

}
这是不对的


上面的函数正在生成月份和相应的日期。

我知道您可以使用长时间戳创建日期


有时,您可能导入了错误的日期—您需要的是Utils.date而不是SQL.date—也请检查一下

您忘记了在创建新的
Date
对象时,
month
参数取0-11之间的数字。九月八号。尝试将其更改为8,您的一天将返回
6
,即周六

您更正的代码:

function myFunction(){
var d = new Date(2012,8,1);
var x = document.getElementById("demo");//some element demo

x.innerHTML=d.getDay();

}
我找到了罪犯:

在Javascript中,月份被视为一个数组,从0开始

所以9月份应该是

var d = new Date(2012,8,1); and not 9

和的可能重复。该死。有时候事情变得一团糟,连一个简单的问题都想不出来。谢谢你的回答。@ashishdabral当然。通过单击问题旁边的勾号,确保您接受问题的答案。嗨,还有一件事:如果我使用d=新日期(2012,8,0);limit=d.getDate();它不应该返回本月的天数,即30天吗。为什么它会返回31天?@ashishdabral,因为7月有31天。但是8应该是9月,就像你在上面的帖子中说的那样,从0到11分,不是吗?七月在哪里受到质疑?我的windows pc显示9月份有30天,我预计输出时间为9月份。
var d = new Date(2012,8,1); and not 9