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 相关文章推荐
人大复印资料处理程序_输入篇
Oct 09 PHP
PHP基础学习小结
Apr 17 PHP
PHP5下$_SERVER变量不再受magic_quotes_gpc保护的弥补方法
Oct 31 PHP
phpQuery占用内存过多的处理方法
Nov 13 PHP
个人写的PHP验证码生成类分享
Aug 21 PHP
php json_encode()函数返回json数据实例代码
Oct 10 PHP
PHP自动重命名文件实现方法
Nov 04 PHP
浅析Yii2 gridview实现批量删除教程
Apr 22 PHP
Yii基于CActiveForm的Ajax数据验证用法示例
Jul 14 PHP
PHP中list方法用法示例
Dec 01 PHP
php文件上传类的分享
Jul 06 PHP
thinkphp5框架扩展redis类方法示例
May 06 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 xfocus防注入资料
2008/04/27 PHP
phpExcel中文帮助手册之常用功能指南
2014/08/18 PHP
PHP实现打包下载文件的方法示例
2017/10/07 PHP
thinkPHP5框架auth权限控制类与用法示例
2018/06/12 PHP
laravel入门知识点整理
2020/09/15 PHP
javascript实现可拖动变色并关闭层窗口实例
2015/05/15 Javascript
用JavaScript来美化HTML的select标签的下拉列表效果
2015/11/17 Javascript
jquery实现左右轮播图效果
2017/09/28 jQuery
JavaScript模块详解
2017/12/18 Javascript
Vue-路由导航菜单栏的高亮设置方法
2018/03/17 Javascript
JavaScript 五大常见函数
2018/03/23 Javascript
解决vue router组件状态刷新消失的问题
2018/08/01 Javascript
js实现鼠标拖拽缩放div实例代码
2019/03/25 Javascript
微信小程序授权登录解决方案的代码实例(含未通过授权解决方案)
2019/05/10 Javascript
javascript导出csv文件(excel)的方法示例
2019/08/25 Javascript
JavaScript ECMA-262-3 深入解析(二):变量对象实例详解
2020/04/25 Javascript
vue webpack build资源相对路径的问题及解决方法
2020/06/04 Javascript
JavaScript获取时区实现过程解析
2020/09/24 Javascript
python学生管理系统代码实现
2020/04/05 Python
详解python多线程、锁、event事件机制的简单使用
2018/04/27 Python
pandas修改DataFrame列名的实现方法
2019/02/22 Python
python+pyqt5实现图片批量缩放工具
2019/03/18 Python
Django MEDIA的配置及用法详解
2019/07/25 Python
python 解决flask 图片在线浏览或者直接下载的问题
2020/01/09 Python
解决Keras自带数据集与预训练model下载太慢问题
2020/06/12 Python
python集合的新增元素方法整理
2020/12/07 Python
python 实现ping测试延迟的两种方法
2020/12/10 Python
css3和jquery实现的可折叠导航菜单适合放在手机网页的导航菜单
2014/09/02 HTML / CSS
html5文本内容_动力节点Java学院整理
2017/07/11 HTML / CSS
广州品高软件.net笔面试题目
2012/04/18 面试题
结构和类有什么异同
2012/07/16 面试题
自动化专业毕业生自荐信
2013/11/01 职场文书
四风批评与自我批评发言稿
2014/10/14 职场文书
世界环境日活动总结
2015/02/11 职场文书
Python打包exe时各种异常处理方案总结
2021/05/18 Python
JS 4个超级实用的小技巧 提升开发效率
2021/10/05 Javascript