我有一个数据表,其中有一个名为“ scheduled time”的特定列,该表正在使用“ Time”变量。我想知道将表中的计划时间与系统时间进行比较的最简单方法,然后更改该行的背景颜色。
到目前为止我的代码
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;
}
最佳答案
这应该工作:
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
块的简写。