获取在两个日期之间发布的数据

Posted

技术标签:

【中文标题】获取在两个日期之间发布的数据【英文标题】:Getting data posted in between two dates 【发布时间】:2011-06-20 00:38:35 【问题描述】:

如何使用 CodeIgniter 的 activerecord 查询两个日期之间的记录来从数据库中检索数据?

【问题讨论】:

请进一步解释,如果您尝试过任何方法,请发布代码。 我不知道你在说什么 您是否要在两个日期之间从数据库中提取数据? 是的,我正在尝试使用 codeigniter 查询在两个日期之间从我的数据库中提取数据 【参考方案1】:

这看起来像你需要的:

$this->db->where('order_date >=', $first_date);
$this->db->where('order_date <=', $second_date);
return $this->db->get('orders');

【讨论】:

@ThorpeObazee 如果我有两个号码并且想要输入的号码介于两者之间怎么办?【参考方案2】:

试试这个:

$this->db->where('sell_date BETWEEN "'. date('Y-m-d', strtotime($start_date)). '" and "'. date('Y-m-d', strtotime($end_date)).'"');

希望这会奏效

【讨论】:

【参考方案3】:

这对我很有效

$this->db->where('sell_date BETWEEN "'. date('Y-m-d', strtotime($start_date)). '" and "'. date('Y-m-d', strtotime($end_date)).'"');

【讨论】:

【参考方案4】:

这对我有用:

$this->db->where('RecordDate >=', '2018-08-17 00:00:00');
$this->db->where('RecordDate <=', '2018-10-04 05:32:56');

【讨论】:

【参考方案5】:

如果您提交的日期是数据库中的时间戳,那么这是获取记录的简单方法

$this->db->where('DATE(RecordDate) >=', date('Y-m-d',strtotime($startDate)));
$this->db->where('DATE(RecordDate) <=', date('Y-m-d',strtotime($endDate)));

【讨论】:

【参考方案6】:

如果你想比较 SQL 日期,你可以试试这个:

$this->db->select();
$this->db->from('table_name');
$this->db->where(' date_columnname >= date("'.$from.'")');
$this->db->where( 'date_columnname <= date("'.$to.'")');

这对我有用(phpmysql)。

【讨论】:

【参考方案7】:

只需在 where 条件下写 BETWEEN '$startDate' AND '$endDate' 作为

->where("date BETWEEN '$startDate' AND '$endDate'")

【讨论】:

【参考方案8】:

希望对您有所帮助.... 三表连接

public function get_details_beetween_dates()
    
        $from = $this->input->post('fromdate');
        $to = $this->input->post('todate');

        $this->db->select('users.first_name, users.last_name, users.email, groups.name as designation, dailyinfo.amount as Total_Fine, dailyinfo.date as Date_of_Fine, dailyinfo.desc as Description')
                    ->from('users')
                    ->where('dailyinfo.date >= ',$from)
                    ->where('dailyinfo.date <= ',$to)
                    ->join('users_groups','users.id = users_groups.user_id')
                    ->join('dailyinfo','users.id = dailyinfo.userid')
                    ->join('groups','groups.id = users_groups.group_id');

        /*
        $this->db->select('date, amount, desc')
                 ->from('dailyinfo')
                 ->where('dailyinfo.date >= ',$from)
                 ->where('dailyinfo.date <= ',$to);
        */

        $q = $this->db->get();

        $array['userDetails'] = $q->result();
        return $array;
    

【讨论】:

【参考方案9】:
$query = $this->db
              ->get_where('orders',array('order_date <='=>$first_date,'order_date >='=>$second_date))
              ->result_array();

【讨论】:

我觉得 &lt;=&gt;= 可能是错误的方式,但我不知道它们实际持有什么值。【参考方案10】:

如果你想在 Codeigniter 查询助手上强制使用 BETWEEN 关键字。您可以使用 where 而无需像此代码一样转义 false 。在 CI 版本 3.1.5 上运行良好。希望对某人有所帮助。

if(!empty($tglmin) && !empty($tglmax))
        $this->db->group_start();
        $this->db->where('DATE(create_date) BETWEEN "'.$tglmin.'" AND "'.$tglmax.'"', '',false);
        $this->db->group_end();
    

【讨论】:

以上是关于获取在两个日期之间发布的数据的主要内容,如果未能解决你的问题,请参考以下文章

在codeigniter中获取两个日期范围之间的数据

从sql server获取两个日期之间的数据

如何在每个日期的两个日期范围之间获取 obj

如何在 MySQL 中的两个日期之间获取特定日期

如何获取两个日期之间的数据

获取两个日期时间段之间的数据库搜索结果