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

date object not returning correct day value in javascript

本文关键字:日期 返回 对象 javascript date      更新时间:2023-09-26

可能重复:
用数字创建日期(新日期(2012.03…)给出错误的月份(+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;

  }
}

这个函数将特定的IDS12总计写入no。我得到以下输出:

31 0
31 1
29 2
31 3
30 4
31 5
30 6
31 7
31 8
30 9
31 10
30 11

这是不对的。

上面的函数是生成月份和相应的天数。

您忘记了在创建新的Date对象时,month参数的取值在0-11之间。9月8日。尝试将其更改为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

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

有时你会导入错误的日期-你需要Utils.date而不是SQL.date-也要检查一下!