0

重複の可能性:
数字を使用して日付を作成すると(new Date(2012、03、…)は間違った月(+1)になります

私はこの機能を持っています:

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

x.innerHTML=d.getDay();

}

平日を任意の月の1日に取得しようとしています。コードは上にあります(例)。これは、値として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;


  }

}

この関数は、特定のIDを合計12個書き込みます。そして私は次の出力を取得します:

31 0

31 1

29 2

31 3

30 4

31 5

30 6

31 7

31 8

30 9

31 10

30 11

それは正しくありません。

上記の関数は、月と対応する日を生成しています。

4

3 に答える 3

1

新しい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();

}

デモ

于 2012-09-01T10:06:59.360 に答える
1

私は犯人を手に入れました:

Javascriptでは、月は配列として扱われ、0から始まります。

したがって、9月の場合は

var d = new Date(2012,8,1); and not 9
于 2012-09-01T10:08:21.470 に答える
0

長いタイムスタンプを使用して日付を作成できることを知っています。

間違った日付をインポートすることがあります-SQL.DateではなくUtils.Dateが必要です-これもチェックしてください!

于 2012-09-01T10:06:36.637 に答える