Tribe__Date_Utils::range_coincides( integer $range_1_start, integer $range_1_end, integer $range_2_start, integer $range_2_end )

Given 2 datetime ranges, return whether the 2nd one occurs during the 1st one Note: all params should be unix timestamps


Parameters

$range_1_start

(integer) (Required) timestamp for start of the first range

$range_1_end

(integer) (Required) timestamp for end of the first range

$range_2_start

(integer) (Required) timestamp for start of the second range

$range_2_end

(integer) (Required) timestamp for end of the second range


Top ↑

Return

(bool)


Top ↑

Source

File: src/Tribe/Date_Utils.php

		public static function range_coincides( $range_1_start, $range_1_end, $range_2_start, $range_2_end ) {

			// Initialize the return value
			$range_coincides = false;

			/**
			 * conditions:
			 * range 2 starts during range 1 (range 2 start time is between start and end of range 1 )
			 * range 2 ends during range 1 (range 2 end time is between start and end of range 1 )
			 * range 2 encloses range 1 (range 2 starts before range 1 and ends after range 1)
			 */

			$range_2_starts_during_range_1 = $range_2_start >= $range_1_start && $range_2_start < $range_1_end;
			$range_2_ends_during_range_1   = $range_2_end > $range_1_start && $range_2_end <= $range_1_end;
			$range_2_encloses_range_1      = $range_2_start < $range_1_start && $range_2_end > $range_1_end;

			if ( $range_2_starts_during_range_1 || $range_2_ends_during_range_1 || $range_2_encloses_range_1 ) {
				$range_coincides = true;
			}

			return $range_coincides;

		}