2017-03-15 8 views
0

私はそれがそう(今日の前に、今日と同じなどなど)日付を比較しているmoment.jsは正しく機能していませんか?

​​

をデータテーブルを構築し、渡された日付文字列を比較したい、今日の日付にして、結果に基づいて何かをしています主に働いていますが、dateDue15-03-2017で、formattedDate15-03-2017であるレコードが1つありますが、自分の行のCSSはまだ有効です。

通常、datetimeも含まれていて、これにはdateDue15-03-2017であり、これらのフィルタが正しく設定されている他の値もいくつかあります。

+2

あなたは 'String's、ない' Date'sを比較しています。比較のために何か書式を設定する必要はありません。 –

答えて

0

isBeforeisAfterを使用して、モーメントオブジェクト<を比較することができます。

さらに、format()を削除する必要があります。これは、モーメントオブジェクトを文字列に変換するので、コメントに記載されているように、コードでは瞬間/日付の代わりに文字列を比較しています。

あなたのコードは次のようになります。

"createdRow": function (row, data, dataIndex) { 
    var formattedDate = moment(); 
    var dateIncoming = moment(data.NextDue, 'DD-MMM-YYYY'); 
    if (dateIncoming.isBefore(formattedDate)) { 
     dateDue = true; 
    } 
    if (dateDue === true && data.AssignedToName !== "With Caller") { 
     $(row).css({ "color": "red" }); 
    } 
} 
関連する問題