3

Date()JavaScript で奇妙な問題が発生しました。

次の簡単なコードがあります。

var date = new Date(2013, 11, 01, 00, 00, 0, 0);
alert(date);

日付を に設定する必要がありますが01 November 2013 00:00:00:00、代わりに 12 月に設定しますか? このフィドルでわかるように http://jsfiddle.net/CBqK2/

なにが問題ですか?

4

4 に答える 4

16

JavaScript の月は 0 ベースで、混乱を招きます。

Dateコンストラクターの MDN から:

month 月を表す整数値で、1 月の 0 から 12 月の 11 までです。

あなたの例では:

var date = new Date(2013, 10, 01, 0, 0, 0, 0);
alert(date);

DateMDNの詳細については、こちらをご覧ください。

于 2013-10-14T10:58:46.590 に答える
3

2 番目の値を 10 に設定します。日付クラスは、配列のように 1 月の 0 で始まります ;)

于 2013-10-14T10:59:55.097 に答える
1

Date() は、現地時間に従って、指定された日付の月 (0 から 11) を返します。

例: 1 月は 0、2 月は 1 など。

以降から開始する場合は、0以下の形式を使用してください

var date = new Date('2013/10/01');
于 2013-10-14T11:01:10.380 に答える
0

Date には、ゼロから始まる平日の月のリストがあります。

月の場合、1 月から 12 月までは 0 ~ 11 で、平日の場合、日曜から土曜までは 0 ~ 6 です。

あなたが言う時。

var date = new Date('1381751517000') // js はミリ秒単位のタイムスタンプを受け入れるため、2013-10-14T11:51:00 のミリ秒単位のタイムスタンプを使用しました。

今私たちが言うなら

日 = date.getDay();

1、つまり月曜日を返します。

月 = date.getMonth()

9、つまり 10 月を返します。

同様に、フォーマット ('YYYY,MM,DD,HH,mm,ss,ms') を使用して日付を作成する場合も、同じ方法で入力を行う必要があります。

于 2013-10-14T11:57:25.970 に答える