为什么我不能将我的24小时时间转换为使用PHP的12小时/下午时间?

时间:2012-10-11 19:18:12

标签: php mysql codeigniter time unix-timestamp

我正在使用Codeigniter,我遇到了一个问题,即MySQL表中的24小时时间列由ActiveRecord&只是拒绝转换到正确的上午/下午时间。

在我的数据库表中,我将时间存储为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;
}

任何想法都会非常感激。

1 个答案:

答案 0 :(得分:4)

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

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