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输出XML到页面的3种方法详解
Jun 06 PHP
php实现上传图片生成缩略图示例
Apr 13 PHP
yii操作cookie实例简介
Jul 09 PHP
Linux下手动编译安装PHP扩展的例子分享
Jul 15 PHP
Discuz7.2版的faq.php SQL注入漏洞分析
Aug 06 PHP
Yii2中设置与获取别名的函数(setAlias和getAlias)用法分析
Jul 25 PHP
PHP读取大文件的几种方法介绍
Oct 27 PHP
PHP串行化与反串行化实例分析
Dec 27 PHP
php使用QueryList轻松采集js动态渲染页面方法
Sep 11 PHP
PHP单文件上传原理及上传函数的封装操作示例
Sep 02 PHP
Laravel模糊查询区分大小写的实例
Sep 29 PHP
PHP7 foreach() 函数修改
Mar 09 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
AM/FM收音机的安装与调试
2021/03/02 无线电
php学习笔记 数组的常用函数
2011/06/13 PHP
PHP图像处理 imagestring添加图片水印与文字水印操作示例
2020/02/06 PHP
jquery 常用操作整理 基础入门篇
2009/10/14 Javascript
FileUpload 控件 禁止手动输入或粘贴的实现代码
2010/04/07 Javascript
url地址自动加#号问题说明
2010/08/21 Javascript
Javascript 加载和执行-性能提高篇
2012/12/28 Javascript
jQuery根据纬度经度查看地图处理程序
2013/05/08 Javascript
全面兼容的javascript时间格式化函数(比较实用)
2014/05/14 Javascript
javascript常用代码段搜集
2014/12/04 Javascript
jQuery平滑旋转幻灯片特效代码分享
2015/09/07 Javascript
JS获取鼠标相对位置的方法
2016/09/20 Javascript
js关于getImageData跨域问题的解决方法
2016/10/14 Javascript
JavaScript自定义浏览器滚动条兼容IE、 火狐和chrome
2017/01/05 Javascript
thinkphp标签实现bootsrtap轮播carousel实例代码
2017/02/19 Javascript
ES6数组的扩展详解
2017/04/25 Javascript
Vuex和前端缓存的整合策略详解
2017/05/09 Javascript
详解在AngularJS的controller外部直接获取$scope
2017/06/02 Javascript
Vue 实现树形视图数据功能
2018/05/07 Javascript
js防抖和节流的深入讲解
2018/12/06 Javascript
python实现中文输出的两种方法
2015/05/09 Python
python爬虫_自动获取seebug的poc实例
2017/08/05 Python
Python入门之三角函数全解【收藏】
2017/11/08 Python
python实现电脑自动关机
2018/06/20 Python
Python GUI编程完整示例
2019/04/04 Python
Python Django简单实现session登录注销过程详解
2019/08/06 Python
Django Admin中增加导出CSV功能过程解析
2019/09/04 Python
python实现视频压缩功能
2020/12/18 Python
海外淘书首选:AbeBooks
2017/07/31 全球购物
澳大利亚在线划船、露营和钓鱼商店:BCF Australia
2020/03/22 全球购物
英语师范专业毕业生自荐信
2013/09/21 职场文书
建筑人员岗位职责
2013/12/25 职场文书
2015年世界无烟日活动总结
2015/02/10 职场文书
因身体原因离职的辞职信范文
2015/05/12 职场文书
2015年度合同管理工作总结
2015/05/22 职场文书
创业计划书之美容店
2019/09/16 职场文书