2012-10-11 70 views
0

我正在使用Codeigniter,我有一个问题,我的24小时在MySQL表中的24小时时间列由ActiveRecord &只是拒绝转换为适当的上午/下午时间。为什么我不能使用PHP将我的24小时时间转换为上午12点/下午时间?

在我的数据库表中,我有一个时间存储为22:00:00(晚上10:00)。当我从数据库中提取数据时,原始的Unix时间似乎是1349960400(它本身看起来不正确),当我运行它的日期& strttotime函数它会在22:00 PM出现。

这是我的代码如下所示:

function get_events_by_day($year, $month, $day) 
{   
    $events = array(); 
    $query = $this->db->select('*') 
         ->from('calendar_events') 
         ->where('EventDate', "$year-$month-$day", 'after') 
         ->get(); 

    $events = $query->result(); 

    foreach($events as $event) 
    { 
     debug($event->EventStartTime); // prints 1349960400 
     debug(strtotime($event->EventStartTime)); // prints 22:00 
     $event->EventStartTime = date("H:i A", strtotime($event->EventStartTime)); 
     $event->EventEndTime = date("H:i A", strtotime($event->EventEndTime)); 
     debug($event->EventEndTime); // prints 22:00 PM 
    }   

    return $events; 
} 

任何想法,将不胜感激。

+0

您是否试过使用'date(“h:i:A”)'而不是'date(“H:i:A”)'? – andrewsi

+0

RTFM;]。请添加为答案,我会接受您的解决方案。 – slashp

+0

随时接受约翰的:) – andrewsi

回答

4
date("h:i A", strtotime($event->EventEndTime)); 

应该解决它。 H是24 h,h = 12h

+0

谢谢朋友! – slashp

相关问题