情况我有一个来自Oracle DB的动态表。有一个名为“ScheduledTime”的列,它是TIMEStamp/shortTime,并将该变量与客户端JavaScript数字时钟进行比较。如果scheduledTime变量在当前时间(js时钟)的特定时间内,那么我们在表格行上返回操作。比较当前日期和将来的日期
也就是说,如果“scheduledTime”是< = currentTime的那么色彩行为红色
问题的15分钟 当其在23:00(晚上11点),并有计划在凌晨2点(次日)的项目中,逻辑认为该项目迟到,因为它的读数“2”进一步使表行颜色变红。
问题/可能的解决方案 我想我应该在比较TimeStamp日期而不是时间的颜色编码之前运行一个条件。如果日期是不相等的,然后不执行色逻辑...你有什么想法..
当前代码
var t = new Date();
for (var i = 1, row; row = tbl.rows[i]; i++) {
var hm = row.cells[0].innerText.split(":");
t.setHours(hm[0], hm[1], 0, 0);
var r = (t.getTime() - current.getTime())/1000/60/60;
if(r <= 0.25)
row.className = "Red";
else if (r > 0.25 & r <= 0.5)
row.className = "Yellow";
else if (r > 0.5 & r <= 2)
row.className = "Green";
如果您在不同的日子日期只设置“t”小时和分钟显然是不够的。解析*整个*日期。你有没有试过你的“可能的解决方案”? – Bergi 2013-03-13 17:41:04