1、关于日期控件,Yii内置扩展(zii)中有CJuiDatePicker,使用例子如下:
<div class="Input"> <label>End time:<span class="required">(*)</span></label> <?php $this->widget('zii.widgets.jui.CJuiDatePicker', array( 'model'=>$deal, 'attribute'=>'end_time', 'options' => array( 'dateFormat'=>'yy-mm-dd', //database save format //'altFormat'=>'mm-dd-yy' //display format //'showAnim'=>'fold', //'yearRange'=>'-3:+3' ), 'htmlOptions'=>array( 'readonly'=>'readonly', 'style'=>'width:90px;', ) ));?> </div>
这样在控制器中对于该时间日期数据就无需额外的处理。
在一些复杂情况下,可以直接用name参数替换上面两个参数组合,然后在控制器中对该数据输入项做进一步处理后赋值给模型的属性。
dateFormat用来控制日期数据保存时的格式,altFormat用来控制界面显示格式;
showAnim用来控制jqueryui日历控件的显示动画;
yearRange用来设置年份范围。
2、在很多时候,需要精确到时分秒的时间,那么就需要用到Yii的一个timepicker扩展:
http://www.yiichina.net/extension/timepicker/
把该扩展放到你的扩展路经下,比如extensions,在视图中添加如下代码:
<?php $this->widget('application.extensions.timepicker.timepicker', array( 'model'=>$deal, 'name'=>'start_time', )); ?>
你还可以通过在css里面定义button的样式来更改该控件的按钮显示。
iefreer