首页 > 网站 > 建站经验 > 正文

yii2超好用的日期组件和时间组件

2024-08-30 19:06:48
字体:
来源:转载
供稿:网友

日期组件,时间组件在平时开发中是必不可少的。今天我们就来谈谈在yii2中的超好用的时间组件,也省的大家各种找js插件了。

分享之前我们先预览下效果,看看到底怎么个好用法。

当然啦,好用不好用在于自我的感觉,光看上面的图片是感受不到的。再告诉你个好消息,这两款插件已经跟yii2整合了,使用起来也是灰常的简单哦。

关于日期组件跟时间组件,前者是date('Y-m-d')类型,后者是date('Y-m-d H:i:s')类型,自然不用多说。

我们先来看看时间组件扩展

既然是扩展组建,第一步当然是安装。

composer require kartik-v/yii2-widget-datetimepicker "*"

安装好之后,如果你的表单使用ActiveForm生成的,可以参考下面的代码:

  1. use kartik/datetime/DateTimePicker;  
  2.  
  3. <?= $form->field($model'created_at')->widget(DateTimePicker::classname(), [  
  4.  
  5.  'options' => ['placeholder' => ''],  
  6.  
  7.  'pluginOptions' => [  
  8. //Vevb.com 
  9.   'autoclose' => true,  
  10.  
  11.   'todayHighlight' => true,  
  12.  
  13.  ]  
  14.  
  15. ]); ?> 

有些不喜欢用ActiveForm生成表单的同学就需要参考下面的用法了

  1. use kartik/datetime/DateTimePicker;  
  2.  
  3. echo '<label>时间</label>';  
  4.  
  5. echo DateTimePicker::widget([  
  6.  
  7.  'name' => 'Article[created_at]',  
  8.  
  9.  'options' => ['placeholder' => ''],  
  10.  
  11.  //注意,该方法更新的时候你需要指定value值  
  12.  
  13.  'value' => '2016-05-03 22:10:10',  
  14.  
  15.  'pluginOptions' => [  'autoclose' => true,  
  16.  
  17.   'format' => 'yyyy-mm-dd HH:ii:ss',  
  18.  
  19.   'todayHighlight' => true  
  20.  
  21.  ]  
  22.  
  23. ]); 

至于哪个方便,不言而喻。

整个安装过程确实很简单,我们接下来以同样的方式进行安装日期组件。

composer require kartik-v/yii2-widget-datepicker "@dev"

安装好了后我们开始使用日期组件:

  1. use kartik/date/DatePicker;  
  2.  
  3. <?php echo DatePicker::widget([  
  4.  
  5.  'name' => 'Article[created_at]',  
  6.  
  7.  'options' => ['placeholder' => '...'],  
  8.  
  9.  //value值更新的时候需要加上  
  10.  
  11.  'value' => '2016-05-03',  
  12.  
  13.  'pluginOptions' => [  
  14.  
  15.   'autoclose' => true,  
  16.  
  17.   'format' => 'yyyy-mm-dd',  
  18.  
  19.   'todayHighlight' => true,  
  20.  
  21.  ]  
  22.  
  23. ]); ?> 

看了上面的代码,想必有同学已经猜到针对ActiveForm生成的日期组件的用法了。没错,就那么用,si不si很简单。

  1. <?= $form->field($model'created_at')->widget(DatePicker::classname(), [  
  2.  
  3.  'options' => ['placeholder' => ''],  
  4.  
  5.  'pluginOptions' => [  
  6.  
  7.   'autoclose' => true,  
  8.  
  9.   'todayHighlight' => true,  
  10.  
  11.   'format' => 'yyyy-mm-dd',  
  12.  
  13.  ]  
  14.  
  15. ]); ?> 

当然,上面的时间格式都是可以调整的,但是,日期组件,既然是日期,肯定也就只支持ymd三种类型的参数,不然跟时间组件又有啥差别。

有些小伙伴说为啥自己的是英文的,用起来很不方便呀,我想反问一句,你的项目是不是没配置语言是中文?还没配置的同学只需要在你的配置文件里面加上 'language'=>'zh-CN', 即可。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表