Yii2超好用的日期和时间组件(值得收藏)


Posted in PHP onMay 05, 2016

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

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

Yii2超好用的日期和时间组件(值得收藏)

当然啦,好用不好用在于自我的感觉,光看上面的图片是感受不到的。再告诉你个好消息,这两款插件已经跟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', 即可。

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

Yii2超好用的日期和时间组件(值得收藏)

PHP 相关文章推荐
在PHP中利用XML技术构造远程服务(下)
Oct 09 PHP
用PHP生成自己的LOG文件
Oct 09 PHP
php 无限级缓存的类的扩展
Mar 16 PHP
PHP取整数函数常用的四种方法小结
Jul 05 PHP
fetchAll()与mysql_fetch_array()的区别详解
Jun 05 PHP
PHP中使用FFMPEG获取视频缩略图和视频总时长实例
May 04 PHP
php实现将上传word文件转为html的方法
Jun 03 PHP
PHP实现加强版加密解密类实例
Jul 29 PHP
一个完整的php文件上传类实例讲解
Oct 27 PHP
jQuery向下滚动即时加载内容实现的瀑布流效果
Jan 07 PHP
PHP yield关键字功能与用法分析
Jan 03 PHP
php简单检测404页面的方法示例
Aug 23 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
Joomla使用Apache重写模式的方法
May 04 #PHP
Joomla开启SEF的方法
May 04 #PHP
You might like
最小化数据传输――在客户端存储数据
2006/10/09 PHP
php array_merge下进行数组合并的代码
2008/07/22 PHP
PHP 设置MySQL连接字符集的方法
2011/01/02 PHP
php实现快速排序的三种方法分享
2014/03/12 PHP
php二维数组合并及去重复的方法
2015/03/04 PHP
php读取qqwry.dat ip地址定位文件的类实例代码
2016/11/15 PHP
JQuery从头学起第二讲
2010/07/04 Javascript
IE6下出现JavaScript未结束的字符串常量错误的解决方法
2010/11/21 Javascript
妙用Jquery的val()方法
2012/06/27 Javascript
JavaScript事件处理器中的event参数使用介绍
2013/05/24 Javascript
JavaScript设置首页和收藏页面的小例子
2013/11/11 Javascript
jquery教程ajax请求json数据示例
2014/01/13 Javascript
使用GruntJS构建Web程序之安装篇
2014/06/04 Javascript
JavaScript设计模式之策略模式实例
2014/10/10 Javascript
javascript将数字转换整数金额大写的方法
2015/01/27 Javascript
JSON+Jquery省市区三级联动
2016/01/13 Javascript
浅谈Javascript中的函数、this以及原型
2016/10/09 Javascript
如何清除IE10+ input X 文本框的叉叉和密码输入框的眼睛图标
2016/12/21 Javascript
JS HTML图片显示Canvas 压缩功能
2017/07/21 Javascript
angularjs实现猜数字大小功能
2020/05/20 Javascript
jquery实现回车键触发事件(实例讲解)
2017/11/21 jQuery
javascript字体颜色控件的开发 JS实现字体控制
2017/11/27 Javascript
Angular 5.x 学习笔记之Router(路由)应用
2018/04/08 Javascript
详解Nodejs get获取远程服务器接口数据
2019/03/26 NodeJs
vue 中的动态传参和query传参操作
2020/11/09 Javascript
[49:28]VP vs Optic 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
浅谈python中的数字类型与处理工具
2017/08/02 Python
python下解压缩zip文件并删除文件的实例
2018/04/24 Python
python实现字典嵌套列表取值
2019/12/16 Python
如何用Java实现列出某个目录下的所有子目录
2015/07/20 面试题
人事部专员岗位职责
2014/03/04 职场文书
企业办公室岗位职责
2014/03/12 职场文书
三爱活动实施方案
2014/03/19 职场文书
反邪教警示教育方案
2014/05/13 职场文书
2016年六一文艺汇演开幕词
2016/03/04 职场文书
React更新渲染原理深入分析
2022/12/24 Javascript