Date range in PHP

PHP Frameworks

Date and time values are very essential in PHP as there are different time formats, time zones, daylight saving offsets.

By carefully with the date inputs you can format output however you like.

In the below function you can get range of dates:

function date_range( $start, $end, $step = '+1 day', $format = 'Y/m/d' )
{
$dates = array();
$current = strtotime( $start );
$end = strtotime( $end );
while( $current <= $end ) {
$dates[] = date( $format, $current );
$current = strtotime( $step, $current );
}
return $dates;
}
print_r( date_range( '2010/07/26', '2010/08/05') );

Read Also:  Php PHP date() and strtotime() return wrong months on 31st

You can get the result as below:

Array
(
[0] => 2015/12/01
[1] => 2015/12/02
[2] => 2015/12/03
[3] => 2015/12/04
[4] => 2015/12/05
[5] => 2015/12/06
[6] => 2015/12/07
[7] => 2015/12/08
[8] => 2015/12/09
[9] => 2015/12/10
)

Also, you can get full week interval:

print_r( date_range( '2015/12/01', '2016/01/10', '+1 week') );

And as a result you will get this:

Array
(
[0] => 2015/12/01
[1] => 2015/12/08
[2] => 2015/12/15
[3] => 2015/12/22
[4] => 2015/12/29
[5] => 2016/01/05
)

Leave a Reply

Your email address will not be published. Required fields are marked *