我想在我的角度控制器中比较两个日期字符串,但我得到不寻常的响应。我将今天的日期转换为字符串(“2/5/2016”),然后尝试将其与我输入的字符串日期进行比较。这里是我的代码:在角度控制器中比较日期字符串的意外响应
function deleteTableRows(table) {
var year = getToday.getFullYear();
var month = getToday.getMonth() + 1;
var day = getToday.getDate();
var currentDate = month + "/" + day + "/" + year;
var qtr4 = '12/31/' + year;
var qtr3 = '9/30/' + year;
for (var i = table.length - 1; i >= 0; i--) {
if (currentDate < qtr4) {
if (table[i].intYear == year && table[i].intQuarter == 4) {
table.splice(i, 1);
}
}
if (currentDate < qtr3) {
if (table[i].intYear == year && table[i].intQuarter == 3) {
table.splice(i, 1);
}
}
}
};
我的问题是,当它进行比较的currentdate( '2016年2月5日')至qtr4('12 /二千〇一十六分之三十一' )它评估的if语句为FALSE的含义,2/5/2016不低于2016年12月31日。但是,它将第二个状态评估为TRUE,意思是currentDate('2/5/2016')小于qtr3('9/30/2016')。我不明白这种行为,但怀疑这里有些简单的东西。任何援助非常感谢!
你是比较字符串,并将其转换为日期,然后比较 –
我试着转换为日期是这样的:var stringDate =年+“ - ” +月+“ - “+日; currentDate = new Date(stringDate); var qtr4 =年份+“-12-31”; qtr4 =新日期(qtr4); var qtr3 =年+“-9-30”; qtr3 = new Date(qtr3);但我得到无效日期错误currentDate和QTR3但不是QTR4。我得到了第四季的约会。我不明白。 –