Get most recent date from an array of dates

后端 未结 11 678
小鲜肉
小鲜肉 2020-11-28 11:32

I have the array of dates below

array(5) { 
    [0]=> string(19) \"2012-06-11 08:30:49\" 
    [1]=> string(19) \"2012-06-07 08:03:54\" 
    [2]=> st         


        
11条回答
  •  粉色の甜心
    2020-11-28 11:42

    Try this works 100%

    function getRecentDate($date_list,$curDate){
    $curDate = strtotime($curDate); 
        $mostRecent = array();
        foreach($date_list as $date){                                             
           $diff = strtotime($date)-$curDate;
           if($diff>0){
            $mostRecent[$diff] = $date;
           }
        }   
        if(!empty($mostRecent)){
            ksort($mostRecent);            
            $mostRecent_key = key($mostRecent);
            if($mostRecent_key){
                return $mostRecent[$mostRecent_key];
            }
        }else{
            return false;
        }
    }
    $date_list = array('15-05-2015','14-01-2015','18-03-2015','20-10-2016','12-12-2014','12-12-2015');
    $curDate = '14-01-2015';    
    $get_recent = getRecentDate($date_list,$curDate);
    if($get_recent){
        echo $get_recent;
    }else{
        echo 'No recent date exists';
    }
    

提交回复
热议问题