我正在使用 date.js 将条件格式应用于数据网格。数据是从 javascript 数组中解析的。我的所有条件都正常工作,除了这个:
if (val < 今天 && val > '01-01-2000')
val 是 MM-dd-yyyy 格式的字符串,我无法更改。所以我使用 date.js 将今天的日期转换为 MM-dd-yyyy 格式的字符串并进行比较。问题是 01-17-2014 被视为小于 04-08-2013 - 因为它正在比较字符串。
解决这个问题的最佳方法是什么?
我想让它变得简单,这就是我首先转换为字符串的原因,但我不确定如何解决年度问题。
谢谢你的帮助!
var today = new Date.today().toString("MM-dd-yyyy");
var tomorrow = new Date.today().addDays(1).toString("MM-dd-yyyy");
var upcoming = new Date.today().addDays(7).toString("MM-dd-yyyy");
function eXcell_edncl(cell) {
this.base = eXcell_edn;
this.base(cell);
this.setValue = function(val) {
if (val.indexOf('ACT') >= 0) this.cell.style.backgroundColor="lightgreen";
else if (val.indexOf('PV') >= 0) this.cell.style.backgroundColor="lightgreen", this.cell.style.fontSize="20px";
else if (val.indexOf('YES') >= 0) this.cell.style.backgroundColor="lightgreen", this.cell.style.fontSize="20px";
else if (val < today && val > '01-01-2000') this.cell.style.backgroundColor="red";
else if (val == today) this.cell.style.backgroundColor="orange";
else if (val == tomorrow) this.cell.style.backgroundColor="yellow";
else if (val > tomorrow && val <= upcoming) this.cell.style.backgroundColor="lightyellow";
else this.cell.style.backgroundColor="";
this.cell.innerHTML = this.grid._aplNF(val, this.cell._cellIndex);
}
}