0

日付部分のが有効かどうかをチェックする関数を作成しました:

悪い値の例:

new Date(2012,3,44) = 
Mon May 14 2012 00:00:00 GMT+0300 (Jerusalem Daylight Time)

これが関数です (その引数は私が送信しています!separately )

function isDate(year, month, day)
{
   ...
}

alert(isDate( 2001,2,29));

しかし、問題があります。

: : のような無効な日付オブジェクトがあり、 var t= new Date(2001,2,44) それを関数に送信したい場合は、その値を抽出する必要があります。

44値 +値を抽出するにはどうすれば2よいですか?

t.getDate() //13
t.getMonth() //3   (days went from march to april)

何か助けはありますか?

4

1 に答える 1

5

44そこにないため、Dateオブジェクトから値を抽出することはできません。

範囲外の値でオブジェクトを作成するDateと、有効な日付になるように値が調整されます。

オブジェクトのコンポーネントは、Date常に有効な日付を形成します。値が有効かどうかを確認したい場合は、オブジェクトを作成する前に確認するDateか、オブジェクトを使用しDateて確認する必要があります。

var d = new Date(year, month, day);
if (d.getFullYear() == year && d.getMonth() == month && d.getDate() == day) {
  // components were valid
}
于 2012-09-02T09:32:55.523 に答える