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 相关文章推荐
手把手教你使用DedeCms的采集的图文教程
Mar 11 PHP
php 定义404页面的实现代码
Nov 19 PHP
基于curl数据采集之正则处理函数get_matches的使用
Apr 28 PHP
php遍历数组的4种方法总结
Jul 05 PHP
PHP图像处理之imagecreate、imagedestroy函数介绍
Nov 19 PHP
php实现有趣的人品测试程序实例
Jun 08 PHP
php编译安装php-amq扩展简明教程
Jun 25 PHP
phpcms中的评论样式修改方法
Oct 21 PHP
浅谈PHP中的面向对象OOP中的魔术方法
Jun 12 PHP
PHP中散列密码的安全性分析
Jul 26 PHP
php日志函数error_log用法实例分析
Sep 23 PHP
分享几种好用的PHP自定义加密函数(可逆/不可逆)
Sep 15 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批量查询WordPress留言者E-mail地址实现方法
2015/02/15 PHP
php编程中echo用逗号和用点号连接的区别
2016/03/26 PHP
Yii2.0框架模型添加/修改/删除数据操作示例
2019/07/18 PHP
关于laravel 子查询 &amp; join的使用
2019/10/16 PHP
PHP单元测试配置与使用方法详解
2019/12/27 PHP
用javascript读取xml文件读取节点数据
2014/08/12 Javascript
jQuery弹出框代码封装DialogHelper
2015/01/30 Javascript
在JavaScript中访问字符串的子串
2015/07/07 Javascript
js实现获取div坐标的方法
2015/11/16 Javascript
在DWR中实现直接获取一个JAVA类的返回值的两种方法
2016/12/25 Javascript
easyui combotree加载静态数据问题(选不上)解决方法
2016/12/26 Javascript
JavaScript简单验证表单空值及邮箱格式的方法
2017/01/20 Javascript
js按条件生成随机json:randomjson实现方法
2017/04/07 Javascript
利用JQuery操作iframe父页面、子页面的元素和方法汇总
2017/09/10 jQuery
详解如何使用PM2将Node.js的集群变得更加容易
2017/11/15 Javascript
JS实现520 表白简单代码
2018/05/21 Javascript
vue项目中常见问题及解决方案(推荐)
2019/10/21 Javascript
JavaScript 声明私有变量的两种方式
2021/02/05 Javascript
python实现ID3决策树算法
2017/12/20 Python
Python中enumerate()函数编写更Pythonic的循环
2018/03/06 Python
python requests更换代理适用于IP频率限制的方法
2019/08/21 Python
python3实现微型的web服务器
2019/09/03 Python
基于Python实现扑克牌面试题
2019/12/11 Python
python 用 xlwings 库 生成图表的操作方法
2019/12/22 Python
python字符串下标与切片及使用方法
2020/02/13 Python
conda安装tensorflow和conda常用命令小结
2021/02/20 Python
html5应用缓存_动力节点Java学院整理
2017/07/13 HTML / CSS
轻松制作精彩视频:Animoto
2018/09/19 全球购物
M.M.LaFleur官网:美国职业女装品牌
2020/10/27 全球购物
系统管理员的职责包括那些?管理的对象是什么?
2013/01/18 面试题
保安的辞职报告怎么写
2014/01/20 职场文书
单位承诺书格式
2014/05/21 职场文书
学校标语大全
2014/06/19 职场文书
525心理健康活动总结
2015/05/08 职场文书
致男子1500米运动员的广播稿
2019/11/08 职场文书
MySQL里面的子查询的基本使用
2021/08/02 MySQL