如何从 codeigniter 活动记录中的 DATETIME 字段中获取 d-m-Y 格式的日期?

Posted

技术标签:

【中文标题】如何从 codeigniter 活动记录中的 DATETIME 字段中获取 d-m-Y 格式的日期?【英文标题】:How to fetch Date in d-m-Y format from a DATETIME field in codeigniter active records? 【发布时间】:2017-01-24 13:10:45 【问题描述】:

我有一个名为 tbl_user 的表,其中 user_added_date 是 DATETIME (Y-m-d H:i:s) 类型。 我正在尝试使用以下活动记录获取所有数据:-

$this->db->select('user_name AS Name, user_username AS Username, 
                   user_mobile AS Mobile, 
                   DATE(user_added_date) AS `Joining Date`');       
$dataResult = $this->db->get('user');

现在,我正在获取mm/dd/YYYY 格式的数据。

如何获取 dd-mm-YYYY 格式的数据?

编辑:-

在我更新了 Gordon 先生所说的答案后,我遇到了这个问题,这个问题更具体到 codeigniter。

更新的活动记录是

$this->db->select('user_name AS Name, 
                            user_username AS Username, 
                            user_mobile AS Mobile, 
                            DATE_FORMAT( user_added_date, "%d-%m-%Y" ) AS `Joining Date`,
                            DATE(user_last_activity) AS `Last Time Active`');       
$dataResult = $this->db->get('user');

产生此错误的原因:-

Error Number: 1054

Unknown column '"%d-%m-%Y"' in 'field list'

SELECT `user_name` AS Name, `user_username` AS Username, `user_mobile` AS Mobile, DATE_FORMAT( user_added_date, `"%d-%m-%Y"` ) AS `Joining Date`, DATE(user_last_activity) AS `Last Time Active` FROM (`tbl_user`)

Filename: /var/www/html/custom/ci/tharjumal/controllers/admin/user.php

Line Number: 103

这更多是由于活动记录属性将“%d-%m-%Y”封装在 (`) 符号内,因此将其视为列。

我该如何解决这个问题?

【问题讨论】:

【参考方案1】:

您可以在查询中使用date_format()

$this->db->select('user_name AS Name, user_username AS Username, 
                   user_mobile AS Mobile, 
                   date_format(user_added_date, "%d/%m/%Y") AS `Joining Date`');       

【讨论】:

"%d/%m/%y" 在使用倾斜符号构建带有活动记录的查询时导致一些错误。 @Saswat 。 . .如果您将返回的值视为日期(而不是字符串),则将其转换为适当的格式 - 或根本不转换。 @GordonLinoff,活动记录有问题。我放弃了使用活动记录的想法,这很好。

以上是关于如何从 codeigniter 活动记录中的 DATETIME 字段中获取 d-m-Y 格式的日期?的主要内容,如果未能解决你的问题,请参考以下文章

CodeIgniter 活动记录在子查询中的位置

活动记录 CodeIgniter 2 中的这个查询有啥问题?

codeigniter 查询生成器和活动记录 sql 注入

在 codeigniter 中显示 2 个具有活动记录的表中的 3 个最新数据

mysql codeigniter 活动记录 m:m 删除

如何在 CodeIgniter 中获取活动记录插入的结果