JavaScript での無効な日付インスタンスの検出
JavaScript の Date オブジェクトが有効かどうかを判断するのは難しい場合があります。オブジェクトとして表示されるにもかかわらず、無効な日付は文字列変換時に「Invalid Date」を返します。このinstanceof Dateとconsole.log出力の不一致は、開発者にとって問題となります。
解決策: NaN時間値のチェック
無効な日付を検出するための信頼できる方法の1つは、次のとおりです。時間値として NaN をテストします。 Date オブジェクト内では、NaN は無効な日付を示しますが、有効な日付には有効な時刻値が含まれます。この動作は ECMA-262 標準に文書化されています。
コード例:
if (Object.prototype.toString.call(d) === "[object Date]") { if (isNaN(d)) { // d.getTime() or d.valueOf() also works // Date object is invalid } else { // Date object is valid } } else { // Not a date object }
簡易バージョン:
function isValidDate(d) { return d instanceof Date && !isNaN(d); }
このソリューションでは日付オブジェクトのみが検証され、日付入力は検証されないことに注意してください。 「2013-13-32」などの無効な日付は、無効な日付インスタンスとは異なります。
以上が無効な JavaScript 日付オブジェクトを確実に検出するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。