arrays - PHP Return results based on two timestamps within 30mins -


bit of newb , stuck... appreciated.

bit of preface, did have earlier, pretty achieved needed, got point didn't want take more of time anymore (i ask lot of him already).

i have base time of '7am' example, retrieve 30 minutes of results 'past' 7am, help, results before , after 7am.

here code:

    $timearrayone = array(array("time"=>"2015-10-01 06:45:00"),array("time"=>"2015-10-01 07:15:00"),array("time"=>"2015-10-01 07:29:00"),array("time"=>"2015-10-01 07:31:00"));     $msg = '';     $closest = false;     $closestresult = false;          foreach ($timearrayone $result) {             // foreach $basetime             $loggedtime = $result['time'];              // set base time             $basetime = new datetime("2015-10-01 07:00:00");              // set time 2             $timetwo = new datetime($loggedtime);              //  subtract basetime time 2 / divide 60 minutes             $minutes = abs(strtotime($basetime->format('y-m-d h:i:s')) - strtotime($timetwo->format('y-m-d h:i:s'))) / 60;              if ($minutes <= 30) {                 $rounded = round($minutes);                 $msg .= "success - $loggedtime <br/>";                 }             }              echo $msg; 

thanks in advance.

you don't need strtotime() , date manipulations while using datetime. can compare datetime objects so:

// set base time, can read input $basetime = new datetime("2015-10-01 07:00:00");  // add 30 (or number) of minutes $endtime = clone $basetime; $endtime->add(new dateinterval("pt30m"));      foreach ($timearrayone $result) {     $loggedtime = $result['time'];     $timetwo = new datetime($loggedtime);     if ($timetwo >= $basetime , $timetwo <= $endtime) {         $msg .= "success - $loggedtime <br/>";     } }  echo $msg; 

this prints out:

success - 2015-10-01 07:15:00  success - 2015-10-01 07:29:00  

which think expected result here.

demo


Comments

Popular posts from this blog

php - Invalid Cofiguration - yii\base\InvalidConfigException - Yii2 -

How to show in django cms breadcrumbs full path? -

ruby on rails - npm error: tunneling socket could not be established, cause=connect ETIMEDOUT -