0

我有一个数据表,其中包含一个名为“计划时间”的特定列,该列正在使用“时间”变量。我想知道将表中的预定时间与系统时间进行比较的最简单方法是什么,并反过来更改行的背景颜色。

到目前为止我的代码

var currentTime = new Date(); /* not sure if this is the correct time object to use */
var scheduledTime = scheduledTime();

if (scheduledTime >= 15mins) {
  return 'background-color:red;'
} else if (scheduledTime > 15mins <= 30mins) {
  return 'background-color:yellow;'
} else if (scheduledTime > 30mins <= 2hours) {
  return 'background-color:green;'
} else if (scheduledTime > 2hours) {
  return 'background-color:none;
}
4

1 回答 1

0

这应该有效:

var currentTime = new Date();
// Assuming scheduledTime()'s output is a "ms since epoch" timestamp.
var scheduledTime = scheduledTime();
var diff = (scheduledTime - currentTime) / 1000 / 60; // Difference in minutes.

return (diff < 15) /*if(d<15) */ ? 'background-color:red;'
     : (diff < 30  && diff > 15) ? 'background-color:yellow;'
     : (diff < 120 && diff > 30) ? 'background-color:green;'
     : /* else */                  'background-color:none;';

我在那里使用三元运算符作为普通块的简写if/else

于 2012-12-27T14:52:12.570 回答