我将日期存储为'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'。
答案 0 :(得分:1)
试试这个:
$limit_date = strtotime('-30 day');
$limit_date = date("d-m-Y H:i:s", $limit_date);
$this->db->where('date_submitted >', $limit_date);
答案 1 :(得分:1)
我认为您希望将日期字段字符串更改为日期
STR_TO_DATE(date_submitted,'%Y-%m-%d')
$limit_date = date('Y-m-d', strtotime('-30 days'));
$this->db->where('STR_TO_DATE(date_submitted, '%Y-%m-%d') >', $limit_date);
答案 2 :(得分:0)
我认为如果您将查询中的date_submitted转换为DATE,如果您不想弄乱小时:分钟:秒
,那会更好示例:
$limit_date = strtotime('-30 day');
$limit_date = date("d-m-Y", $limit_date);
$this->db->where('DATE(date_submitted) >', $limit_date);
答案 3 :(得分:0)
尝试:
WHERE date_submitted > DATE_ADD(CURDATE(), INTERVAL - 30 DAY) // for 30days
或
WHERE date_submitted > DATE_ADD(NOW(), INTERVAL - 30 DAY) // for 30*24hours
答案 4 :(得分:0)
在此代码中,我们使用DateTime
和DateInterval
。 DateInterval
用于减去您想要的确切天数。
<?php
ini_set('display_errors', 1);
$days=30;
$object = new DateTime("25-04-2017 09:13:13");//giving the date from which we want to subtract.
$object->sub(new DateInterval("P".$days."D"));//passing the interval which we want to subtract
echo $object->format("d-m-Y H:i:s");