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;';

通常の-blockの省略形として三項演算子を使用しています。if/else

于 2012-12-27T14:52:12.570 に答える