Get Time Range Between Two Date In Php

Hello Guys,
Today One of my friends ask me a question in PHP, how he can get the time range between two dates or times in PHP? So, I help him to create the function to achieve his goal.
After that, I also decide to create a tutorial blog for everyone. I think this post will be helpful to others like my friends.
So, Without wasting time let's start.

Create Php function 

For this, I will use a function. We can do this without function. But as we all know we should use the function to optimize the code and repeat uses.
I will create a function with the name getTimeInterval. 

function getTimeInterval($start,$end) {
	$start_time = new DateTime($start);
	$end_time = new DateTime($end);
	$timerange = [];
	while ($start_time < $end_time) {
		$interval = $start_time->format('h:i A') . "-";
		$start_time->modify('+60 minutes');
		$interval .= $start_time->format('h:i A');
		$timerange[] = $interval;

	return $timerange;

This function requires two params, these params need to be DateTime in string format. Which will be used to create a DateTime object in the function. With an object, we can easily modify the DateTime. 
In this $start_time->modify('+60 minutes') line I am adding 1 hour to the start time to get the time after the 1 hour. You can change the value according to your use.

Call getTimeInterval function

After creating the function, We can use the function as per our requirement.

$range = getTimeInterval('2022-12-08 12:00','2022-12-08 16:00');

echo "
"; print_r($range);

 You can pass any date and time in the function.
Let's check the result.


    [0] => 12:00 PM-01:00 PM
    [1] => 01:00 PM-02:00 PM
    [2] => 02:00 PM-03:00 PM
    [3] => 03:00 PM-04:00 PM

It's all completed here. Now you can use the array as per your requirement. You can also change the DateTime format as per your need.
I hope this is helpful to you. 
if you have any confusion related to this post. You can comment below. 
Please share the post with your friends and colleague.