日付のリストを並べ替えようとしていますが、一貫して処理されていないnullの日付に苦労しています。
だから私は次のようなものが必要です:
_var date = Date.parse(dateString);
if (!date) {
date = Date.MinValue;
}
_
しかし、私は正しい構文を見つけるのに苦労しています。ありがとう
更新:バグは別の問題であることが判明しました。プロジェクトの別の部分で使用するためにDatejsをインポートしたので、DatejsがDate.parse()
メソッドを定義していることに気づいていませんでした。標準のJavaScriptメソッドをオーバーライドしていました。
とにかく、Datejsには奇妙なバグがあり、「A」で始まる日付を適切に処理しないことがわかりました。だから実際には私のヌルの日付は正しく注文されていました、それはちょうど4月と8月の日付がそれらと混同されていました。
修正は、特定のフォーマット文字列を提供できるDatejs _Date.parseExact
_メソッドを使用することです。 ここ を参照してください。
parse()は、不可能な解析でNaNを返すので、どうでしょうか。
var date = Date.parse(dateString) || 0;
IsNaN(date)を使用して、無効な日付を確認できます。 「MinValue; from Date」を使用してもよろしいですか?私はjsをchromeで実行していて、未定義のままになりました。
有効なJSDateオブジェクト(「空」または未設定であるため、デフォルトは1970年1月1日)の比較を本当に探している場合は、次のように使用できます。
var null_date = new Date(0);
これにより、Date()がカウントを開始する最小(ゼロ番目)のタイムスタンプに設定されるDateオブジェクトが作成されます...これは、設定されたことのないDateオブジェクトと同等です。