【问题标题】:Compare dates in CodeIgniter在 CodeIgniter 中比较日期
【发布时间】:2016-03-04 23:26:48
【问题描述】:

我想在我的 CodeIgniter 模型中比较日期。在我的数据库中,日期存储为 MM/DD/YYYY。比较日期取自使用 MM/DD/YYYY 格式的日期选择器。

但我的模型查询不起作用。此处不做日期比较。

比较的格式是什么?

型号

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

【问题讨论】:

  • 您的字段类型是什么? (例如 DATE、DATETIME、VARCHAR)
  • 我选择 varchar size 255
  • 使用DATE_FORMAT(curdate(), '%m/%d/%Y')
  • 哪里..?请提供详细信息
  • 正如@Saty 所说,请使用正确的日期格式。如果您觉得很难,您可以使用时间戳格式来订购日期。

标签: php mysql codeigniter date


【解决方案1】:

只需使用str_to_date as 之类的函数

$this->db->where("order_date BETWEEN str_to_date('$first_date','%m/%d/%Y') AND str_to_date('$second_date','%m/%d/%Y')");

【讨论】:

  • 是的.. order_date 在 str_to_date(12/01/2015,'%m/%d/%Y') 和 str_to_date(12/02/2015,'%m/%d/ 之间%Y')
  • 回显结果..bt 没有发生比较
  • 更新我的回答日期需要用引号括起来
  • 尝试回显查询并将其发布到您的 MySql 中并检查它是否在那里工作
  • 我使用了这个查询
【解决方案2】:

使用 STR_TO_DATE

$this->db->where("STR_TO_DATE(order_date,'%m/%d/%Y') >=", 
STR_TO_DATE($first_date,'%m/%d/%Y'));

$this->db->where("STR_TO_DATE(order_date,'%m/%d/%Y') >=", 
STR_TO_DATE($second_date,'%m/%d/%Y'));

【讨论】:

  • order_date,'%m/%d/%Y' 这里有些意想不到的%
  • 使用这个我得到 0 而不是 DATE_FORMAT($first_date,'%m/%d/%Y'));
  • AND DATE_FORMAT(order_date, '%m/%d/%Y') >= 0 AND DATE_FORMAT(order_date, '%m/%d/%Y') >= 0
  • STR_TO_date('12/01/2015','%m/%d/%Y') 或试试这个@Rose
  • 这会转到一些错误页面
【解决方案3】:

用户输入

$fDate = $this->input->post("first_date"); // Input date format as mm/dd/yy
$sDate = $this->input->post("first_date"); // Input date format as mm/dd/yy

转换用户输入

$first_date = date_format($fDate,"m/d/Y"); // Output date format as mm/dd/yy
$second_date = date_format($sDate,"m/d/Y"); // Output date format as mm/dd/yy

在代码中

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

或者

$this->db->where('order_date BETWEEN '.$first_date.' and '.$second_date);

检查日期选择器格式为datepicker-popup="mm/dd/yyyy"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-02-08
    • 2011-09-11
    • 1970-01-01
    • 1970-01-01
    • 2021-11-05
    • 2013-12-14
    • 1970-01-01
    相关资源
    最近更新 更多