web-dev-qa-db-ja.com

JavaScript Date.parse()とnullの日付

日付のリストを並べ替えようとしていますが、一貫して処理されていないnullの日付に苦労しています。

だから私は次のようなものが必要です:

_var date = Date.parse(dateString);
if (!date) {
    date = Date.MinValue;
}
_

しかし、私は正しい構文を見つけるのに苦労しています。ありがとう


更新:バグは別の問題であることが判明しました。プロジェクトの別の部分で使用するためにDatejsをインポートしたので、DatejsがDate.parse()メソッドを定義していることに気づいていませんでした。標準のJavaScriptメソッドをオーバーライドしていました。

とにかく、Datejsには奇妙なバグがあり、「A」で始まる日付を適切に処理しないことがわかりました。だから実際には私のヌルの日付は正しく注文されていました、それはちょうど4月と8月の日付がそれらと混同されていました。

修正は、特定のフォーマット文字列を提供できるDatejs _Date.parseExact_メソッドを使用することです。 ここ を参照してください。

12

parse()は、不可能な解析でNaNを返すので、どうでしょうか。

 var date = Date.parse(dateString) || 0;
14
Alex K.

IsNaN(date)を使用して、無効な日付を確認できます。 「MinValue; from Date」を使用してもよろしいですか?私はjsをchromeで実行していて、未定義のままになりました。

6
Ravindra

有効なJSDateオブジェクト(「空」または未設定であるため、デフォルトは1970年1月1日)の比較を本当に探している場合は、次のように使用できます。

var null_date = new Date(0);

これにより、Date()がカウントを開始する最小(ゼロ番目)のタイムスタンプに設定されるDateオブジェクトが作成されます...これは、設定されたことのないDateオブジェクトと同等です。

4