How to get closest date compared to an array of dates in PHP

前端 未结 4 1220
爱一瞬间的悲伤
爱一瞬间的悲伤 2020-11-29 06:08

This post almost answered this question for me, but I have a specific need and didn\'t find what I sought there. This lies right outside my experience; couldn\'t quite wrap

4条回答
  •  眼角桃花
    2020-11-29 06:40

    If I understand your question perfectly then this will solve your problem.

    Tested Code

     "2013-02-18 05:14:54",
            '1' => "2013-02-12 01:44:03",
            '2' => "2013-02-05 16:25:07",
            '3' => "2013-01-29 02:00:15",
            '4' => "2013-01-27 18:33:45"
        );
    
        function closest($dates, $findate)
        {
            $newDates = array();
    
            foreach($dates as $date)
            {
                $newDates[] = strtotime($date);
            }
    
            echo "
    ";
            print_r($newDates);
            echo "
    "; sort($newDates); foreach ($newDates as $a) { if ($a >= strtotime($findate)) return $a; } return end($newDates); } $values = closest($dates, date('2013-02-04 14:11:16')); echo date('Y-m-d h:i:s', $values); ?>

提交回复
热议问题