isTimeInRange( )

验证日期或日期/时间值是否在定义的范围内。

语法

注:

使用没有时间元素的日期类型变量时,函数会将时间视为“00:00:00”。
isTimeInRange(dateToCheck, dateFrom, dateTo, inclusive)

参数

dateToCheck

要检查的日期或日期/时间值。

dateFrom

日期或日期/时间值范围开始。

dateTo

日期或日期/时间值范围结束。

inclusive

字符串:'both''from''to''no'

  • 'both':在范围检查中包括 dateTodateFrom 日期 (dateFrom <= dateToCheck && dateToCheck <= dateTo)
  • 'from':在范围检查 (dateFrom <= dateToCheck && dateToCheck < dateTo) 中仅包括 dateFrom
  • 'to':在范围检查 (dateFrom < dateToCheck && dateToCheck <= dateTo) 中仅包括 dateTo
  • 'no':在范围检查 (dateFrom < dateToCheck && dateToCheck < dateTo) 中不包括 dateTodateFrom

返回值

true (如果日期或日期/时间在范围内); false (如果不在)。

示例 3-28 检查日期/时间值

// Given 3 form questions of type DateTime are defined in the rule as variables
if (isTimeInRange(dateToCheck, dateFrom, dateTo, "both")) {
  return true;
} else {
  return false;
}
 
// Triggers query if dateToCheck is not in range (dateFrom <= dateToCheck && dateToCheck <= dateTo)

示例 3-29 比较三个硬编码的日期/时间项

var dateToCheck = new Date("March 1, 2020 14:00:00");
var dateFrom = new Date("March 1, 2020 12:00:00");
var dateTo = new Date("March 1, 2020 13:00:00");
 
if (!isTimeInRange(dateToCheck, dateFrom, dateTo, "both") {
  return false;
} else {
  return true;
}
 
//Triggers query since dateToCheck is not in range (dateFrom <= dateToCheck && dateToCheck <= dateTo)

示例 3-30 比较两个时间项

var dateToCheck= new Date( '01-01-001 ' + ruleTimeItem.getHour() + ':' + ruleTimeItem.getMinute() + ':' + ruleTimeItem.getSecond() );
return isTimeInRange(dateToCheck, dateFrom, dateTo, "both");