Php 在YII中,如何在比较之前转换日期格式?

Php 在YII中,如何在比较之前转换日期格式?,php,yii,date-conversion,date-comparison,Php,Yii,Date Conversion,Date Comparison,我使用的是YII CGridView提供的默认搜索。 我在搜索条件中有一个文本日期字段。我试图将传递的日期与数据库中的日期进行比较,但它们不匹配。我需要转换存储在数据库中的日期的格式,因为数据库中的日期也有时间,我需要在比较日期之前删除时间,但我无法找到这样做的方法 在默认搜索函数中,这是我要在比较之前转换日期的行。我尝试过转换,但这似乎不起作用 $criteria->compare(date("Y-m-d", strtotime('application_date')), date("Y

我使用的是YII CGridView提供的默认搜索。 我在搜索条件中有一个文本日期字段。我试图将传递的日期与数据库中的日期进行比较,但它们不匹配。我需要转换存储在数据库中的日期的格式,因为数据库中的日期也有时间,我需要在比较日期之前删除时间,但我无法找到这样做的方法

在默认搜索函数中,这是我要在比较之前转换日期的行。我尝试过转换,但这似乎不起作用

$criteria->compare(date("Y-m-d", strtotime('application_date')),
date("Y-m-d", strtotime($this->application_date)),true);

谢谢你的帮助

尝试将数据库中的date-to-date格式设置为ex,如下所示

 $criteria->compare('date1',date("d-m-Y",strtotime($this->date1),true);

尝试将数据库中的date to date设置为ex,并将其设置为所需的格式,如下所示

 $criteria->compare('date1',date("d-m-Y",strtotime($this->date1),true);

有一种方法,您必须使用mysql的Date_Format函数,如下所示:

$criteria->compare('DATE_FORMAT(application_date,"%Y-%m-%d")',date("Y-m-d", strtotime($this->application_date)),true);

有一种方法,您必须使用mysql的Date_Format函数,如下所示:

$criteria->compare('DATE_FORMAT(application_date,"%Y-%m-%d")',date("Y-m-d", strtotime($this->application_date)),true);

您是否尝试在此语句中设置日期格式?是的,我尝试过,但我只能设置我要传递的日期的格式,而不能设置数据库中的日期的格式。在比较之前,我需要格式化从数据库中获取的日期。为什么不将输入日期格式化为数据库格式?实际上,数据库基准日期有时间,在比较时,我想排除时间。您是否尝试在此语句中格式化日期?是的,我尝试过,但我只能格式化我传递的日期,不是数据库中的日期。在比较之前,我需要格式化从数据库中获取的日期。为什么不将输入日期格式化为数据库格式?实际上,数据库基准日期有时间,在比较时,我要排除时间。实际上,数据库基准日期有时间,在比较时,我要排除时间部分。是的,只有您将输入的日期转换为时间数据库条目和比较的格式实际上,数据库基本日期有时间,在比较时,我想排除时间部分。请注意,只有您将输入的日期转换为数据库条目和比较的格式