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 相关文章推荐
php列出一个目录下的所有文件的代码
Oct 09 PHP
编写安全 PHP应用程序的七个习惯深入分析
Jun 08 PHP
jQuery中的RadioButton,input,CheckBox取值赋值实现代码
Feb 18 PHP
PHP向浏览器输出内容的4个函数总结
Nov 17 PHP
PHP5全版本绕过open_basedir读文件脚本漏洞详细介绍
Jan 20 PHP
php递归法读取目录及文件的方法
Jan 30 PHP
PHP图形计数器程序显示网站用户浏览量
Jul 20 PHP
24条货真价实的PHP代码优化技巧
Jul 28 PHP
PHP实现RSA签名生成订单功能【支付宝示例】
Jun 06 PHP
PHP中OpenSSL加密问题整理
Dec 14 PHP
php分享朋友圈的实现代码
Feb 18 PHP
解决Laravel5.2 Auth认证退出失效的问题
Oct 14 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表单提交表单名称含有点号(.)则会被转化为下划线(_)
2011/12/14 PHP
Yii实现MySQL多数据库和读写分离实例分析
2014/12/03 PHP
PHP生成随机字符串(3种方法)
2015/09/25 PHP
删除PHP数组中的重复元素的实现代码
2017/04/10 PHP
jquery动态更换设置背景图的方法
2014/03/25 Javascript
PHP开发者必须掌握的6个关键字
2014/04/14 Javascript
jQuery中$.click()无效问题分析
2015/01/29 Javascript
Javascript对象Clone实例分析
2015/06/09 Javascript
详解用vue编写弹出框组件
2017/07/04 Javascript
详解vue填坑之解决部分浏览器不支持pushState方法
2018/07/12 Javascript
JavaScript中的连续赋值问题实例分析
2019/07/12 Javascript
layer弹窗在键盘按回车将反复刷新的实现方法
2019/09/25 Javascript
vue 中的 render 函数作用详解
2020/02/28 Javascript
Vue axios 跨域请求无法带上cookie的解决
2020/09/08 Javascript
[56:18]VGJ.S vs Secret 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
[05:24]TI9采访——教练
2019/08/24 DOTA
在Python中使用MySQL--PyMySQL的基本使用方法
2019/11/19 Python
keras在构建LSTM模型时对变长序列的处理操作
2020/06/29 Python
python基本算法之实现归并排序(Merge sort)
2020/09/01 Python
Python3爬虫RedisDump的安装步骤
2021/02/20 Python
html5 利用canvas手写签名并保存的实现方法
2018/07/12 HTML / CSS
时尚设计师手表:The Watch Cabin
2018/10/06 全球购物
设计部经理的岗位职责
2013/11/16 职场文书
主办会计岗位职责
2014/03/13 职场文书
2014婚礼司仪主持词
2014/03/14 职场文书
奥运会口号
2014/06/13 职场文书
公证委托书
2014/08/01 职场文书
党员学习群众路线教育实践活动对照检查材料
2014/09/23 职场文书
群众路线查摆问题整改措施思想汇报
2014/10/10 职场文书
2015年采购工作总结
2015/04/10 职场文书
车辆挂靠协议书
2016/03/23 职场文书
小学2016年第十八届推普周活动总结
2016/04/05 职场文书
MySQL infobright的安装步骤
2021/04/07 MySQL
聊聊golang中多个defer的执行顺序
2021/05/08 Golang
Python中文纠错的简单实现
2021/07/07 Python
Python中Numpy和Matplotlib的基本使用指南
2021/11/02 Python