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
If I understand your question perfectly then this will solve your problem.
 "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);
?>