【发布时间】:2017-04-25 08:37:25
【问题描述】:
我将日期存储为“d-m-Y H:i:s”。
我需要检查这个存储的日期是否晚于$limit_date 变量。 $limit_date 变量是当前日期的 -30 天,存储在“d-m-Y”中。
我原以为以下方法会起作用,但没有返回任何结果。
$limit_date = strtotime('-30 day');
$limit_date = date("d-m-Y", $limit_date);
$this->db->where('date_submitted >', $limit_date);
我的测试 date_submitted 是“25-04-2017 09:13:13”,$limit_date 返回“26-03-2017”。
【问题讨论】:
-
在格式化
$limit_date时,您是否尝试过使用d-m-Y H:i:s添加?您最好使用以 UNIX 时间格式格式化的日期,然后确定日期是否晚于存储的日期。 -
“我的测试 date_submitted 是 '25-04-2017 09:13:13' 而 $limit_date 返回 '26-03-2017'” – 你在比较 strings 这里是逐个字符发生的。第一个字符在两个值中都是
2,所以我们必须查看下一个 -5和6,6是比5“更大”的字符,所以不匹配。 // 在你的表中使用适当的日期列类型,然后使用 MySQL 日期/时间函数来创建间隔进行比较。
标签: php mysql codeigniter-2 expressionengine