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

返回值

Boolean(true 或 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");