情況我有一個來自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