無効な JavaScript Date インスタンスの検出
JavaScript で Date オブジェクトの有効性を判断するのは難しい場合があります。オブジェクトの型とinstanceof演算子をチェックしたくなるかもしれませんが、これらの方法では不十分です。
JavaScriptの「無効な日付」の概念
一部の言語とは異なり、JavaScriptは有効な日付と無効な日付を明示的に区別しません。代わりに、無効な日付を NaN (非数値) の時刻値を持つオブジェクトとして表します。
isValidDate 関数の定義
Date オブジェクトかどうかを確認するにはが有効な場合は、次の手順を使用できます:
両方の条件がある場合が満たされると、Date オブジェクトが考慮されます。無効です。
実装
isValidDate 関数の実装は次のとおりです。
function isValidDate(d) { if (Object.prototype.toString.call(d) === "[object Date]") { return !isNaN(d); } else { return false; } }
同一コンテキスト日付オブジェクトの代替
Date のみを使用する場合同じ JavaScript コンテキスト内で作成されたオブジェクトの場合は、関数のより単純なバージョンを使用できます。
function isValidDate(d) { return d instanceof Date && !isNaN(d); }
「無効な日付」に関する注意
次のことに注意することが重要です。この関数は、Date オブジェクトが有効かどうかのみを検証し、日付自体が有効かどうかは検証しません (例: 2013-13-32)。入力日付の検証には、別の方法が必要です。
以上が無効な JavaScript 日付インスタンスを確実に検出するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。