做者:白狼 出處:http://www.manks.top/yii2_datetimepicker.html 本文版權歸做者,歡迎轉載,但未經做者贊成必須保留此段聲明,且在文章頁面明顯位置給出原文鏈接,不然保留追究法律責任的權利。原文有圖片。
日期組件,時間組件在平時開發中是必不可少的。今天咱們就來談談在yii2中的超好用的時間組件,也省的你們各類找js插件了。php
分享以前咱們先預覽下效果,看看到底怎麼個好用法。
固然啦,好用很差用在於自個人感受,光看上面的圖片是感覺不到的。再告訴你個好消息,這兩款插件已經跟yii2整合了,使用起來也是灰常的簡單哦。
關於日期組件跟時間組件,前者是date('Y-m-d')類型,後者是date('Y-m-d H:i:s')類型,天然不用多說。
咱們先來看看時間組件擴展
既然是擴展組建,第一步固然是安裝。composer require kartik-v/yii2-widget-datetimepicker "*"
html
安裝好以後,若是你的表單使用ActiveForm生成的,能夠參考下面的代碼yii2
use kartik\datetime\DateTimePicker; <?= $form->field($model, 'created_at')->widget(DateTimePicker::classname(), [ 'options' => ['placeholder' => ''], 'pluginOptions' => [ 'autoclose' => true, 'todayHighlight' => true, ] ]); ?>
有些不喜歡用ActiveForm生成表單的同窗就須要參考下面的用法了composer
use kartik\datetime\DateTimePicker; echo '<label>時間</label>'; echo DateTimePicker::widget([ 'name' => 'Article[created_at]', 'options' => ['placeholder' => ''], //注意,該方法更新的時候你須要指定value值 'value' => '2016-05-03 22:10:10', 'pluginOptions' => [ 'autoclose' => true, 'format' => 'yyyy-mm-dd HH:ii:ss', 'todayHighlight' => true ] ]);
至於哪一個方便,不言而喻。yii
整個安裝過程確實很簡單,咱們接下來以一樣的方式進行安裝日期組件。ui
composer require kartik-v/yii2-widget-datepicker "@dev"
安裝好了後咱們開始使用日期組件spa
use kartik\date\DatePicker; <?php echo DatePicker::widget([ 'name' => 'Article[created_at]', 'options' => ['placeholder' => '...'], //value值更新的時候須要加上 'value' => '2016-05-03', 'pluginOptions' => [ 'autoclose' => true, 'format' => 'yyyy-mm-dd', 'todayHighlight' => true, ] ]); ?>
看了上面的代碼,想必有同窗已經猜到針對ActiveForm生成的日期組件的用法了。沒錯,就那麼用,si不si很簡單。插件
<?= $form->field($model, 'created_at')->widget(DatePicker::classname(), [ 'options' => ['placeholder' => ''], 'pluginOptions' => [ 'autoclose' => true, 'todayHighlight' => true, 'format' => 'yyyy-mm-dd', ] ]); ?>
固然,上面的時間格式都是能夠調整的,可是,日期組件,既然是日期,確定也就只支持ymd三種類型的參數,否則跟時間組件又有啥差異。code
有些小夥伴說爲啥本身的是英文的,用起來很不方便呀,我想反問一句,你的項目是否是沒配置語言是中文?還沒配置的同窗只須要在你的配置文件裏面加上 'language'=>'zh-CN', 便可。orm
最後,咱們看看最終的效果圖。