0

Codeigniter を使用していますが、MySQL テーブルの 24 時間の時刻列が ActiveRecord によって取得され、適切な午前/午後の時刻への変換を単に拒否するという問題があります。

私の DB テーブルには、時刻が 22:00:00 (午後 10:00) として保存されています。データベースから値を取得すると、生の Unix 時刻は 1349960400 のように表示され (それ自体は正しくないようです)、date & 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;
}

どんな考えでも大歓迎です。

4

1 に答える 1

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

解決するはずです。H は24 h、h =12hです。

于 2012-10-11T19:21:56.357 に答える