Search code examples
phparraysdatemaxdate-comparison

Get most recent date from an array of dates in "Y-m-d H:i:s" format


I have the array of dates in Y-m-d H:i:s format like:

array(5) { 
    [0]=> string(19) "2012-06-11 08:30:49" 
    [1]=> string(19) "2012-06-07 08:03:54" 
    [2]=> string(19) "2012-05-26 23:04:04" 
    [3]=> string(19) "2012-05-27 08:30:00" 
    [4]=> string(19) "2012-06-08 08:30:55" 
}

I would like to know the most recent date.

In other words, today is June 13th 2012, which datetime is closest to today's date?

From my sample array, I am expecting 2012-06-11 08:30:49.

How can I do that?


Solution

  • Do a loop, convert the values to date, and store the most recent, in a var.

    $mostRecent= 0;
    foreach($dates as $date){
      $curDate = strtotime($date);
      if ($curDate > $mostRecent) {
         $mostRecent = $curDate;
      }
    }
    

    something like that... you get the idea If you want most recent BEFORE today :

    $mostRecent= 0;
    $now = time();
    foreach($dates as $date){
      $curDate = strtotime($date);
      if ($curDate > $mostRecent && $curDate < $now) {
         $mostRecent = $curDate;
      }
    }