0

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

在我的数据库表中,我将时间存储为 22:00:00(晚上 10:00)。当我从数据库中提取值时,原始 Unix 时间似乎是 1349960400(这本身似乎不正确),当我通过 date & strttotime 函数运行它时,它显示为下午 22:00。

这就是我的代码的样子:

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;
}

任何想法将不胜感激。

4

1 回答 1

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

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

于 2012-10-11T19:21:56.357 回答