isTimeInRange( )

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

语法

使用没有时间元素的日期类型变量时,函数会将时间视为“00:00:00”。

isTimeInRange(dateToCheck, dateFrom, dateTo, inclusive)

参数

参数 必选/可选 说明
dateToCheck 必需 要评估它是否在范围内的日期/时间值。
dateFrom 必需 要评估的日期范围的开始日期/时间值。
dateTo 必需 要评估的日期范围的结束日期/时间值。
inclusive 必需 确定是否为范围内评估包括范围限制。可以采用以下任一选项:
  • 'both':在范围检查中同时包括日期限制 dateTodateFrom
    dateFrom <= dateToCheck && dateToCheck <= dateTo
  • 'from':在范围检查中仅包括 dateFrom
    dateFrom <= dateToCheck && dateToCheck < dateTo
  • 'to':在范围检查中仅包括 dateTo
    dateFrom < dateToCheck && dateToCheck <= dateTo
  • 'no':范围检查中不包含日期限制 dateTodateFrom
    dateFrom < dateToCheck && dateToCheck < dateTo

返回值

布尔值(true 或 false):
  • 如果日期在范围内,则为
  • False (如果日期超出范围)。

示例

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

// 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-30 比较三个硬编码的日期/时间项

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-31 比较两个时间项

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