Yii2超好用的日期和时间组件(值得收藏)


Posted in PHP onMay 05, 2016

日期组件,时间组件在平时开发中是必不可少的。今天我们就来谈谈在yii2中的超好用的时间组件,也省的大家各种找js插件了。

分享之前我们先预览下效果,看看到底怎么个好用法。

Yii2超好用的日期和时间组件(值得收藏)

当然啦,好用不好用在于自我的感觉,光看上面的图片是感受不到的。再告诉你个好消息,这两款插件已经跟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', 即可。

最后,我们看看最终的效果图。

Yii2超好用的日期和时间组件(值得收藏)

PHP 相关文章推荐
dedecms中显示数字验证码的修改方法
Mar 21 PHP
PHP Session变量不能传送到下一页的解决方法
Nov 27 PHP
php通用防注入程序 推荐
Feb 26 PHP
深入Nginx + PHP 缓存详解
Jul 11 PHP
使用PHP下载CSS文件中的图片的代码
Sep 24 PHP
php接口数据加密、解密、验证签名
Mar 12 PHP
php中执行系统命令的方法
Mar 21 PHP
php实现改变图片直接打开为下载的方法
Apr 14 PHP
PHP对象链式操作实现原理分析
Oct 09 PHP
php mysql PDO 查询操作的实例详解
Sep 23 PHP
PHP排序算法之简单选择排序(Simple Selection Sort)实例分析
Apr 20 PHP
PHP-FPM 的管理和配置详解
Feb 17 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
Joomla使用Apache重写模式的方法
May 04 #PHP
Joomla开启SEF的方法
May 04 #PHP
You might like
PHP 反射机制实现动态代理的代码
2008/10/22 PHP
PHP并发多进程处理利器Gearman使用介绍
2016/05/16 PHP
PHP 的Opcache加速的使用方法
2017/12/29 PHP
PHP使用观察者模式处理异常信息的方法详解
2019/09/24 PHP
jquery.validate分组验证代码
2011/03/17 Javascript
JavaScript异步编程:异步数据收集的具体方法
2013/08/19 Javascript
js实现页面跳转重定向的几种方式
2014/05/29 Javascript
javascript使用正则获取url上的某个参数
2014/09/04 Javascript
jQuery选择器全集详解
2014/11/24 Javascript
javascript数组去重的方法汇总
2015/04/14 Javascript
在js中实现邮箱格式的验证方法(推荐)
2016/10/24 Javascript
JavaScript实现清空(重置)文件类型INPUT元素值的方法
2016/11/17 Javascript
Vue自定义指令拖拽功能示例
2017/02/17 Javascript
Vue.js学习记录之在元素与template中使用v-if指令实例
2017/06/27 Javascript
基于JQuery的Ajax方法使用详解
2017/08/16 jQuery
vue better-scroll插件使用详解
2018/01/25 Javascript
vue.js 实现a标签href里添加参数
2019/11/12 Javascript
JavaScript实现字符串与HTML格式相互转换
2020/03/17 Javascript
python实现超市扫码仪计费
2018/05/30 Python
Python动态生成多维数组的方法示例
2018/08/09 Python
Python2和Python3.6环境解决共存问题
2018/11/09 Python
django项目环境搭建及在虚拟机本地创建django项目的教程
2019/08/02 Python
Django如何实现网站注册用户邮箱验证功能
2019/08/14 Python
Python Pillow.Image 图像保存和参数选择方式
2020/01/09 Python
Django创建一个后台的基本步骤记录
2020/10/02 Python
python实现学生信息管理系统(精简版)
2020/11/27 Python
HTML高亮关键字的实现代码
2018/10/22 HTML / CSS
HTML5响应式(自适应)网页设计的实现
2017/11/17 HTML / CSS
prAna官网:瑜伽、旅行和冒险服装
2019/03/10 全球购物
2015年社区综治工作总结
2015/04/21 职场文书
交流会主持词
2015/07/02 职场文书
2016国培学习心得体会
2016/01/08 职场文书
MYSQL(电话号码,身份证)数据脱敏的实现
2021/05/28 MySQL
为什么MySQL分页用limit会越来越慢
2021/07/25 MySQL
Windows Server 2008 修改远程登录端口以及配置防火墙
2022/04/28 Servers
Python如何利用pandas读取csv数据并绘图
2022/07/07 Python