我有一个数据表,其中包含一个名为“预定时间”的特定列正在使用“时间”变量。我想知道将表中的预定时间与系统时间进行比较的最简单方法是什么,并返回更改行的背景颜色。
到目前为止我的代码
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;
}
答案 0 :(得分: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;';
我正在使用ternary operator作为普通if/else
- 块的简写。