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 相关文章推荐
Extended CHM PHP 语法手册之 DIY
Oct 09 PHP
PHP和Mysqlweb应用开发核心技术 第1部分 Php基础-3 代码组织和重用2
Jul 03 PHP
PHP提取字符串中的图片地址[正则表达式]
Nov 12 PHP
关于svn冲突的解决方法
Jun 21 PHP
2014年10个最佳的PHP图像操作库
Jul 14 PHP
CentOS 6.3下安装PHP xcache扩展模块笔记
Sep 10 PHP
PHP也能干大事 随机函数
Apr 14 PHP
PHP中的事务使用实例
May 26 PHP
在PHP语言中使用JSON和将json还原成数组的方法
Jul 19 PHP
Ajax+PHP实现的删除数据功能示例
Feb 12 PHP
laravel实现一个上传图片的接口,并建立软链接,访问图片的方法
Oct 12 PHP
Laravel框架控制器,视图及模型操作图文详解
Dec 04 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定义函数代码
2015/02/26 PHP
PHP生成唯一ID之SnowFlake算法
2016/12/17 PHP
PHP中检查isset()和!empty()函数的必要性
2019/02/13 PHP
javascript 鼠标滚轮事件
2009/04/09 Javascript
JSON 编辑器实现代码
2009/12/06 Javascript
url 特殊字符 传递参数解决方法
2010/01/01 Javascript
远离JS灾难css灾难之 js私有函数和css选择器作为容器
2011/12/11 Javascript
浅谈JavaScript Math和Number对象
2015/01/26 Javascript
jQuery中$this和$(this)的区别介绍(一看就懂)
2015/07/06 Javascript
javascript实现信息增删改查的方法
2015/07/25 Javascript
KnockoutJS 3.X API 第四章之表单submit、enable、disable绑定
2016/10/10 Javascript
js实现hashtable的赋值、取值、遍历操作实例详解
2016/12/25 Javascript
JQuery元素快速查找与操作
2018/04/22 jQuery
使用Nuxt.js改造已有项目的方法
2018/08/07 Javascript
jQuery带控制按钮轮播图插件
2020/07/31 jQuery
[01:03:27]NAVI vs EG 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
用Python脚本生成Android SALT扰码的方法
2013/09/18 Python
详解python开发环境搭建
2016/12/16 Python
详解js文件通过python访问数据库方法
2019/03/03 Python
python Matplotlib底图中鼠标滑过显示隐藏内容的实例代码
2019/07/31 Python
python画图常规设置方式
2020/03/05 Python
python输出数学符号实例
2020/05/11 Python
python eventlet绿化和patch原理
2020/11/21 Python
html5指南-7.geolocation结合google maps开发一个小的应用
2013/01/07 HTML / CSS
Max&Co官网:意大利年轻女性时尚品牌
2017/05/16 全球购物
企业管理毕业生求职信范文
2014/03/07 职场文书
中秋晚会活动方案
2014/08/31 职场文书
财务个人年度总结范文
2015/02/26 职场文书
2015应届毕业生求职信范文
2015/03/20 职场文书
2016年春节慰问信息
2015/03/25 职场文书
交通安全教育心得体会
2016/01/15 职场文书
小学体育队列队形教学反思
2016/02/16 职场文书
Oracle设置DB、监听和EM开机启动的方法
2021/04/25 Oracle
Java多条件判断场景中规则执行器的设计
2021/06/26 Java/Android
javascript遍历对象的五种方式实例代码
2021/10/24 Javascript
Redis实现主从复制方式(Master&Slave)
2022/06/21 Redis