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


Posted in PHP onMay 05, 2016

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

分享之前我们先预览下效果,看看到底怎么个好用法。
当然啦,好用不好用在于自我的感觉,光看上面的图片是感受不到的。再告诉你个好消息,这两款插件已经跟yii2整合了,使用起来也是灰常的简单哦。
关于日期组件跟时间组件,前者是date('Y-m-d')类型,后者是date('Y-m-d H:i:s')类型,自然不用多说。
我们先来看看时间组件扩展
既然是扩展组建,第一步当然是安装。
composer require kartik-v/yii2-widget-datetimepicker "*"

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

use kartik\datetime\DateTimePicker; 
<?= $form->field($model, 'created_at')->widget(DateTimePicker::classname(), [ 
 'options' => ['placeholder' => ''], 
 'pluginOptions' => [ 
  'autoclose' => true, 
  'todayHighlight' => true, 
 ] 
]); ?>

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

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 
 ] 
]);

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

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

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

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

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三种类型的参数,不然跟时间组件又有啥差别。

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

最后,我们看看最终的效果图。

PHP 相关文章推荐
php $_ENV为空的原因分析
Jun 01 PHP
PHP 时间转换Unix时间戳代码
Jan 22 PHP
一步一步学习PHP(1) php开发环境配置
Feb 15 PHP
深入了解PHP类Class的概念
Jun 14 PHP
php中判断文件存在是用file_exists还是is_file的整理
Sep 12 PHP
Apache实现Web Server负载均衡详解(不考虑Session版)
Jul 05 PHP
php实现对两个数组进行减法操作的方法
Apr 17 PHP
php多进程模拟并发事务产生的问题小结
Dec 07 PHP
PHP结合Redis+MySQL实现冷热数据交换应用案例详解
Jul 09 PHP
Laravel框架实现抢红包功能示例
Oct 31 PHP
Laravel5.5+ 使用API Resources快速输出自定义JSON方法详解
Apr 06 PHP
php中数组最简单的使用方法
Dec 27 PHP
Joomla语言翻译类Jtext用法分析
May 05 #PHP
Yii2超好用的日期和时间组件(值得收藏)
May 05 #PHP
joomla实现注册用户添加新字段的方法
May 05 #PHP
Joomla数据库操作之JFactory::getDBO用法
May 05 #PHP
100多行PHP代码实现socks5代理服务器[2]
May 05 #PHP
PHP随机数 C扩展随机数
May 04 #PHP
PHP正则表达式过滤html标签属性(DEMO)
May 04 #PHP
You might like
php数据结构与算法(PHP描述) 查找与二分法查找
2012/06/21 PHP
使用HMAC-SHA1签名方法详解
2013/06/26 PHP
Thinkphp中import的几个用法详细介绍
2014/07/02 PHP
php实现的IMEI限制的短信验证码发送类
2015/05/05 PHP
ThinkPHP控制器详解
2015/07/27 PHP
PHP在弹框中获取foreach中遍历的id值并传递给地址栏
2017/06/13 PHP
在laravel中实现事务回滚的方法
2019/10/10 PHP
如何重写Laravel异常处理类详解
2020/12/20 PHP
jQuery.each使用详解
2015/07/07 Javascript
jquery实现九宫格大转盘抽奖
2015/11/13 Javascript
AngularJs实现ng1.3+表单验证
2015/12/10 Javascript
JavaScript判断图片是否已经加载完毕的方法汇总
2016/02/05 Javascript
JS基于ocanvas插件实现的简单画板效果代码(附demo源码下载)
2016/04/05 Javascript
JavaScript必知必会(九)function 说起 闭包问题
2016/06/08 Javascript
使用JS中的exec()方法构造正则表达式验证
2016/08/01 Javascript
Javascript中的对象和原型(二)
2016/08/12 Javascript
jQuery实现根据生日计算年龄 星座 生肖
2016/11/23 Javascript
bootstrap table支持高度百分比的实例代码
2018/02/28 Javascript
jQuery实现的电子时钟效果完整示例
2018/04/28 jQuery
angular 实现下拉列表组件的示例代码
2019/03/09 Javascript
vue cli3 配置proxy代理无效的解决
2019/10/30 Javascript
[02:27]2018DOTA2亚洲邀请赛趣味视频之钓鱼大赛 谁是垂钓冠军?
2018/04/05 DOTA
AI人工智能 Python实现人机对话
2017/11/13 Python
pytorch:torch.mm()和torch.matmul()的使用
2019/12/27 Python
使用TensorFlow直接获取处理MNIST数据方式
2020/02/10 Python
在pycharm中关掉ipython console/PyDev操作
2020/06/09 Python
联想瑞士官方网站:Lenovo Switzerland
2017/11/19 全球购物
Timberland德国官网:靴子、鞋子、衣服、夹克及配件
2019/12/10 全球购物
意大利辅助药品、药物和补品在线销售:FarmaEurope
2020/04/29 全球购物
机电专业大学生求职信
2013/10/04 职场文书
医学毕业生自荐信
2013/10/11 职场文书
车间主管岗位职责
2013/11/14 职场文书
产品生产计划书
2014/05/07 职场文书
劳动争议和解协议书范本
2014/11/20 职场文书
2015年工商所工作总结
2015/05/21 职场文书
用JS实现飞机大战小游戏
2021/06/09 Javascript