Yii 日期和時間控制元件的使用
阿新 • • 發佈:2018-12-21
1、關於日期控制元件,Yii內建擴充套件(zii)中有CJuiDatePicker,使用例子如下:
[php] view plain copy print?- <code class="language-php"> <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'
- 'readonly'=>'readonly',
- 'style'=>'width:90px;',
- )
- ));?>
- </div></code>
<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>
其中model和attribute引數必須同時提供,這樣在控制器中對於該時間日期資料就無需額外的處理。
在一些複雜情況下,可以直接用name引數替換上面兩個引數組合,然後在控制器中對該資料輸入項做進一步處理後賦值給模型的屬性。
dateFormat用來控制日期資料儲存時的格式,altFormat用來控制介面顯示格式;
showAnim用來控制jqueryui日曆控制元件的顯示動畫;
yearRange用來設定年份範圍。
2、在很多時候,需要精確到時分秒的時間,那麼就需要用到Yii的一個timepicker擴充套件:
把該擴充套件放到你的擴充套件路經下,比如extensions,在檢視中新增如下程式碼:
<?php $this->widget('application.extensions.timepicker.timepicker', array( 'model'=>$deal, 'name'=>'start_time',));?>
這個控制元件的日期格式是Y-m-d H:m:s和mysql的DATETIME型別匹配,如果你的資料庫中使用的是timestamp,那麼需要在控制器中額外轉換一下。你還可以通過在css裡面定義button的樣式來更改該控制元件的按鈕顯示。
iefreer