【发布时间】:2018-02-20 18:29:50
【问题描述】:
在 codeigniter 中有一个 MySQL 数据库,其中日期列采用这种格式
Mon, 12 Sep 2017 13:54:04 GMT.
我想获取过去一年的记录,即从
Mon, 12 Sep 2016 13:54:04 GMT
直到现在。
我正在尝试为它形成一个 where 子句,但不知道如何比较两个 utcdate 字符串。
我尝试使用
$this->db->where('DATE(created) >=',$_POST['duration']);
但它不起作用。 created 列中的所有值都采用上述格式。
【问题讨论】:
-
这些日期保存在什么列数据类型中?
-
它们是 TEXT 数据类型
-
你的问题。日期和时间应始终保存在 DATE/DATETIME/TIMESTAMP 数据类型列中。然后在表示层中向用户展示他们想要的任何格式
-
我理解那部分。它是一个旧项目。我正在其中添加一些功能。所以之前工作的开发人员已经存储了 js utcdatestrings,现在如果我更改数据库,这对我来说是一个巨大的工作量
-
你将不得不在这些字符串上使用
STR_TO_DATE()函数来将它们变成正确的日期
标签: php mysql codeigniter date