1

我有一个名为 events 的表,我以datetime格式存储开始日期。

但是,我正在使用一个插件,要求将日期格式化为: YYYY-MM-DD.

因此,我只想选择部分日期时间,而不修改底层表结构。有没有办法在获取每条记录时格式化字段数据?我问的原因是因为再次浏览每条记录(就像我现在一样)并格式化一个字段似乎效率低下。

$this->load->model('event_model');
$events = $this->event_model->get_all();

foreach ($events as $event) {
    $start = date('Y-m-d', strtotime($event->start));
    //add event to new event array     
}

$output = json_encode($events); // I would like to use the formatted date when using json_encode on $events. 

我将codeigniterMy Model一起使用。

4

3 回答 3

3

为什么你不只是存储到你生成的模型中?

例如:

$this->load->model("event_model");
$events = $this->event_model->get_all();

foreach($events as $event){
  $event->mydate = date('Y-m-d',strtotime($event->start));
}

现在将您的 $events 传递给视图并使用 mydate 属性。

于 2013-02-22T12:15:35.210 回答
1

只需在您的 sql 代码中格式化您的日期

于 2013-02-22T12:14:03.123 回答
0
SELECT *,  FORMAT(start,'YYYY-MM-DD') as eventStart
FROM events

在查询本身中对其进行格式化。

于 2013-02-22T12:34:21.443 回答