CronExpression_AbstractField::isInIncrementsOfRanges()publicWC 1.0

Test if a value is within an increments of ranges (offset[-to]/step size)

Method of the class: CronExpression_AbstractField{}

No Hooks.

Return

true|false.

Usage

$CronExpression_AbstractField = new CronExpression_AbstractField();
$CronExpression_AbstractField->isInIncrementsOfRanges( $dateValue, $value );
$dateValue(string) (required)
Set date value
$value(string) (required)
Value to test

CronExpression_AbstractField::isInIncrementsOfRanges() code WC 8.6.1

public function isInIncrementsOfRanges($dateValue, $value)
{
    $parts = array_map('trim', explode('/', $value, 2));
    $stepSize = isset($parts[1]) ? $parts[1] : 0;
    if ($parts[0] == '*' || $parts[0] === '0') {
        return (int) $dateValue % $stepSize == 0;
    }

    $range = explode('-', $parts[0], 2);
    $offset = $range[0];
    $to = isset($range[1]) ? $range[1] : $dateValue;
    // Ensure that the date value is within the range
    if ($dateValue < $offset || $dateValue > $to) {
        return false;
    }

    for ($i = $offset; $i <= $to; $i+= $stepSize) {
        if ($i == $dateValue) {
            return true;
        }
    }

    return false;
}