isDateInRange( )

验证日期是否在给定范围内。

语法

此函数用于比较日期类型的变量,这些变量不包含时间元素并且不包含部分日期。使用日期/时间类型参数时,函数仅考虑日期部分并忽略时间元素。

提示:

isDateInRange(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-23 检查日期值

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

示例 3-24 比较三个硬编码日期

var dateToCheck = new Date("April 1, 2020");
var dateFrom = new Date("March 1, 2020");
var dateTo = new Date("March 30, 2020");
 
if (!isDateInRange(dateToCheck, dateFrom, dateTo, "both") {
  return false;
} else {
  return true;
}
 
//Triggers query since dateToCheck is not in range (dateFrom <= dateToCheck && dateToCheck <= dateTo)