今日、1 年間実行していたプロジェクトで突然、日付比較でエラーが発生しました。最終的に、その原因が文字列の日付の直接比較であることが判明しました。
デバッグ結果に直接行きましょう:
多くの人は、JS 文字列の日付を直接比較でき、より賢明だと言います
alert("2016-10-01" > "2016-10-02") );// false
//jsが時間形式で比較しても文字列形式で比較しても戻り値はfalse
なので比較可能
ですが、文字列の日付が不規則な場合、例えば:
alert("2016 -10-4" > "2016-10-30");//true
//ここでは js は文字列比較として扱うため、直接比較することはできず、変換する必要があります日付形式に変換します
var date1 = new Date("2016-10-4");
var date2 = new Date("2016-10-10");
alert(date1> date2);//false
yy/mm/dd 文字列日付の形式も同じです