我有一种情况,我的逻辑是将我的第 0 列(时间列表)与 24 小时 javascript 时钟进行比较,并根据时间的接近程度在行上返回一个红绿灯配色方案。
问题是当它是 23:00(晚上 11 点)时,我的时间栏中有一个项目显示为“凌晨 2:10”(第二天),我的逻辑认为这是一个迟到的时间,并且不承认它是明天的项目。我的颜色编码逻辑有效,但我只需要在 cell[0] 日期等于系统日期(js 时钟)时执行此操作。
//date time object
var t = new Date();
// loops through each row
for (i = 0; i < rows.length; i++) {
cells = rows[i].getElementsByTagName('td');
//configures the clock
var hm = cells[0].innerText.split(":");
t.setHours(hm[0], hm[1], 0, 0);
var r = (t.getTime() - currentTime.getTime()) / 1000 / 60 / 60;
//logic executed
if (r <= 0.25 && cells[1].innerText == false)
rows[i].className = "ewTableRowConditionalRed";
else if (r > 0.25 & r <= 0.5 && cells[1].innerText == false)
rows[i].className = "ewTableRowConditionalYellow";
else if (r > 0.5 & r <= 2 && cells[1].innerText == false)
rows[i].className = "ewTableRowConditionalGreen";
}