Function in PHP to get dates between 2 dates in an array
Here is a simple function in PHP which accepts FromDate and ToDate as input dates. The dates should be in dd/mm/yyyy format.
Function takes the input dates and returns an inclusive array of the dates between the from and to dates.
How to use this function?
You can invoke the function like the way given below. The function return the inclusive array of the dates between the from and to dates.
$arrDates = getDateRangeAsArray("29/01/2015","5/02/2015");
// Using print_r() (print array) function to print the resulted date array:
print_r( $arrDates );
Result will be like this:
Array ( [0] => 29/01/2015 [1] => 30/01/2015 [2] => 31/01/2015 [3] => 01/02/2015 [4] => 02/02/2015 [5] => 03/02/2015 [6] => 04/02/2015 [7] => 05/02/2015 )
Here is a simple function in PHP which accepts FromDate and ToDate as input dates. The dates should be in dd/mm/yyyy format.
Function takes the input dates and returns an inclusive array of the dates between the from and to dates.
function getDateRangeAsArray($fromDate,$toDate)
{
// takes two dates formatted as DD/MM/YYYY and creates an
// inclusive array of the dates between the from and to dates.
//splitting the date string so that Year, month and date components of the date becomes the array elements
$arrDtFrm = explode("/",$fromDate);
$arrDtTo = explode("/",$toDate);
//declare the output array
$aryRange=array();
$aryRange=array();
$iDateFrom=mktime(1,0,0,intval( $arrDtFrm[1]), intval( $arrDtFrm[0]) ,intval( $arrDtFrm[2]) );
$iDateTo=mktime(1,0,0,intval( $arrDtTo[1]), intval( $arrDtTo[0]) ,intval( $arrDtTo[2]));
if ($iDateTo>=$iDateFrom)
{
array_push($aryRange,date('d/m/Y',$iDateFrom)); // first entry
while ($iDateFrom<$iDateTo) { $iDateFrom+=86400; // add 24 hours array_push($aryRange,date('d/m/Y',$iDateFrom)); } } return $aryRange; }
{
// takes two dates formatted as DD/MM/YYYY and creates an
// inclusive array of the dates between the from and to dates.
//splitting the date string so that Year, month and date components of the date becomes the array elements
$arrDtFrm = explode("/",$fromDate);
$arrDtTo = explode("/",$toDate);
//declare the output array
$aryRange=array();
$aryRange=array();
$iDateFrom=mktime(1,0,0,intval( $arrDtFrm[1]), intval( $arrDtFrm[0]) ,intval( $arrDtFrm[2]) );
$iDateTo=mktime(1,0,0,intval( $arrDtTo[1]), intval( $arrDtTo[0]) ,intval( $arrDtTo[2]));
if ($iDateTo>=$iDateFrom)
{
array_push($aryRange,date('d/m/Y',$iDateFrom)); // first entry
while ($iDateFrom<$iDateTo) { $iDateFrom+=86400; // add 24 hours array_push($aryRange,date('d/m/Y',$iDateFrom)); } } return $aryRange; }
How to use this function?
You can invoke the function like the way given below. The function return the inclusive array of the dates between the from and to dates.
$arrDates = getDateRangeAsArray("29/01/2015","5/02/2015");
// Using print_r() (print array) function to print the resulted date array:
print_r( $arrDates );
Result will be like this:
Array ( [0] => 29/01/2015 [1] => 30/01/2015 [2] => 31/01/2015 [3] => 01/02/2015 [4] => 02/02/2015 [5] => 03/02/2015 [6] => 04/02/2015 [7] => 05/02/2015 )