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制作新闻系统的思路
Oct 09 PHP
php 图像函数大举例(非原创)
Jun 20 PHP
php cout&amp;lt;&amp;lt;的一点看法
Jan 24 PHP
PHP以及MYSQL日期比较方法
Nov 29 PHP
WordPress中用于获取文章作者与分类信息的方法整理
Dec 17 PHP
laravel5创建service provider和facade的方法详解
Jul 26 PHP
php微信开发自定义菜单
Aug 27 PHP
php 自定义错误日志实例详解
Nov 12 PHP
php中Redis的应用--消息传递
Mar 28 PHP
PHP Laravel 上传图片、文件等类封装
Aug 16 PHP
php-msf源码详解
Dec 25 PHP
php使用curl伪造来源ip和refer的方法示例
May 08 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多线程抓取网页实现代码
2010/07/22 PHP
jQuery中的RadioButton,input,CheckBox取值赋值实现代码
2014/02/18 PHP
ThinkPHP跳转页success及error模板实例教程
2014/07/17 PHP
php之curl实现http与https请求的方法
2014/10/21 PHP
使用PHPCMS搭建wap手机网站
2015/09/20 PHP
隐藏Nginx或Apache以及PHP的版本号的方法
2016/01/03 PHP
浅谈php://filter的妙用
2019/03/05 PHP
JS加ASP二级域名转向的代码
2007/05/17 Javascript
ExtJS实现文件下载的方法实例
2013/11/09 Javascript
实例说明为什么不要行内使用javascript
2014/04/18 Javascript
Nodejs实现的一个静态服务器实例
2014/12/06 NodeJs
jQuery实现本地预览上传图片功能
2016/01/08 Javascript
JS 根据子网掩码,网关计算出所有IP地址范围示例
2020/04/23 Javascript
JavaScript中绑定事件的三种方式及去除绑定
2016/11/05 Javascript
js闭包用法实例详解
2016/12/13 Javascript
微信小程序(三):网络请求
2017/01/13 Javascript
微信小程序 Storage更新详解
2019/07/16 Javascript
layui的布局和表格的渲染以及动态生成表格的方法
2019/09/18 Javascript
Vue.js 实现地址管理页面思路详解(地址添加、编辑、删除和设置默认地址)
2019/12/11 Javascript
[27:02]2014 DOTA2国际邀请赛中国区预选赛 5 23 CIS VS LGD第三场
2014/05/24 DOTA
python中map()与zip()操作方法
2016/02/27 Python
Python中easy_install 和 pip 的安装及使用
2017/06/05 Python
Python图像处理之图像的缩放、旋转与翻转实现方法示例
2019/01/04 Python
Python多线程处理实例详解【单进程/多进程】
2019/01/30 Python
PyQt Qt Designer工具的布局管理详解
2019/08/07 Python
Python 炫技操作之合并字典的七种方法
2020/04/10 Python
Conforama西班牙:您的家具、装饰和电器商店
2020/02/21 全球购物
计算机网络专业个人的自我评价
2013/10/17 职场文书
自我评价范文点评
2013/12/04 职场文书
自我反省检讨书
2014/01/23 职场文书
安全资金保障制度
2014/01/23 职场文书
核心价值观演讲稿
2014/05/13 职场文书
毕业生学校推荐信范文
2014/05/21 职场文书
高考诚信考试承诺书
2015/04/29 职场文书
2015年城管个人工作总结
2015/05/15 职场文书
MySQL开启事务的方式
2021/06/26 MySQL