Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/227.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用Yii中的日期选择器筛选日期_Php_Yii - Fatal编程技术网

Php 使用Yii中的日期选择器筛选日期

Php 使用Yii中的日期选择器筛选日期,php,yii,Php,Yii,我已经使用gii生成了积垢屏幕。。我有一个搜索表单,在那里我放了一个日期选择器,在那里我给用户选择他想要的日期 但问题是,我在数据库中以秒为单位存储了日期 我知道我可以使用strotime转换日期。但是,在我的模型中如何使用搜索方法进行过滤呢 这是我的约会对象 <?php $this->widget('zii.widgets.jui.CJuiDatePicker', array( 'name'=>'ordering_date',

我已经使用gii生成了积垢屏幕。。我有一个搜索表单,在那里我放了一个日期选择器,在那里我给用户选择他想要的日期

但问题是,我在数据库中以秒为单位存储了日期

我知道我可以使用strotime转换日期。但是,在我的模型中如何使用搜索方法进行过滤呢

这是我的约会对象

<?php 
        $this->widget('zii.widgets.jui.CJuiDatePicker', array(

        'name'=>'ordering_date',
        'id'=>'ordering_date',
        // additional javascript options for the date picker plugin
        'options'=>array(
            'showAnim'=>'fold',
        ),
        'htmlOptions'=>array(
            'style'=>'height:20px;'
        ),
        ));
    ?>

执行
$this->ordering\u date=strotime($this->ordering\u date)在比较之前或
$criteria->compare('ordering_date',strottime($this->ordering_date))

或者执行
$this->ordering\u date=strotime($this->ordering\u date)在比较之前或
$criteria->compare('ordering_date',strottime($this->ordering_date))

尝试以下操作:

$this->widget('zii.widgets.jui.CJuiDatePicker', array(
        'model'=>$model,
        'attribute'=>'ordering_date',
        'options'   => array('dateFormat' => 'mm-dd-yy',),
搜索

$begindate = CDateTimeParser::parse($this->ordering_date, 'MM-dd-yyyy');
$enddate   = $begindate + 24* 60*60;
$criteria->addBetweenCondition('ordering_date', $begindate, $enddate);
试试这个:

$this->widget('zii.widgets.jui.CJuiDatePicker', array(
        'model'=>$model,
        'attribute'=>'ordering_date',
        'options'   => array('dateFormat' => 'mm-dd-yy',),
搜索

$begindate = CDateTimeParser::parse($this->ordering_date, 'MM-dd-yyyy');
$enddate   = $begindate + 24* 60*60;
$criteria->addBetweenCondition('ordering_date', $begindate, $enddate);

是的,我做到了!!我没有得到正确的结果。然后,我发现,当U转换从日期选择器获得的日期并与数据库值进行比较时,它给出不同的值,因为当IM存储订单日期时,我也会考虑分钟和秒。因此,我尝试在条件中添加一个条件,以获得所选日期和下一个日期之间的值。但是,当你加载屏幕时,最初没有给出任何结果。有什么想法吗?如果这只会使事情复杂化,而且你甚至不能按它们过滤,那你为什么要存储分/秒呢?用00来表示小时/分/秒。是的,我做到了!!我没有得到正确的结果。然后,我发现,当U转换从日期选择器获得的日期并与数据库值进行比较时,它给出不同的值,因为当IM存储订单日期时,我也会考虑分钟和秒。因此,我尝试在条件中添加一个条件,以获得所选日期和下一个日期之间的值。但是,当你加载屏幕时,最初没有给出任何结果。有什么想法吗?如果这只会使事情复杂化,而且你甚至不能按它们过滤,那你为什么要存储分/秒呢?只需使用00表示小时/分钟/秒。
$this->ordering_date
从输入中获取其值,因此它已经是
mm dd yyy
格式。
$this->ordering_date
从输入中获取其值,因此它已经是
mm dd yyy
格式。