isTimeInRange( )

Verify if a date or date/time value falls within a given range.

Syntax

When using date type variables with no time elements, function considers time as '00:00:00'.

isTimeInRange(dateToCheck, dateFrom, dateTo, inclusive)

Parameters

Parameter Required/Optional Description
dateToCheck Required Date/time value to evaluate if it is within range.
dateFrom Required Starting date/time value for the date range to evaluate.
dateTo Required Ending date/time value for the date range to evaluate.
inclusive Required Determines whether the range limits are included or not for the in-range evaluation. Can take any of the following options:
  • 'both': include both date limits, dateTo and dateFrom, in the range check.
    dateFrom <= dateToCheck && dateToCheck <= dateTo
  • 'from': include only dateFrom in the range check.
    dateFrom <= dateToCheck && dateToCheck < dateTo
  • 'to': include only dateTo in the range check.
    dateFrom < dateToCheck && dateToCheck <= dateTo
  • 'no': don't include date limits, dateTo nor dateFrom, in the range check.
    dateFrom < dateToCheck && dateToCheck < dateTo

Return value

Boolean (true or false) value:
  • True if date is within range.
  • False if date is out of range.

Examples

Example 3-29 Check a date/time value

// 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)

Example 3-30 Compare three hard-coded date/time items

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)

Example 3-31 Compare two time items

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