mysql utcdate 字符串比较codeigniter
Posted
技术标签:
【中文标题】mysql utcdate 字符串比较codeigniter【英文标题】:mysql utcdate string comparison codeigniter 【发布时间】: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()
函数来将它们变成正确的日期
【参考方案1】:
STR_TO_DATE(substr("Mon, 14 Aug 2017 13:54:04 GMT",1,25), "%a, %d %b %Y %H:%i:%S")
。
对于其他寻找相同事物的人。 RiggsFolly 帮我回答了这个问题。
【讨论】:
以上是关于mysql utcdate 字符串比较codeigniter的主要内容,如果未能解决你的问题,请参考以下文章