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 相关文章推荐
桌面中心(三)修改数据库
Oct 09 PHP
WIN98下Apache1.3.14+PHP4.0.4的安装
Oct 09 PHP
php中常用编辑器推荐
Jan 02 PHP
最新的php 文件上传模型,支持多文件上传
Aug 13 PHP
PHP Undefined index报错的修复方法
Jul 17 PHP
PHP简洁函数小结
Aug 12 PHP
基于session_unset与session_destroy的区别详解
Jun 03 PHP
解析php中如何调用用户自定义函数
Aug 06 PHP
PHP CURL CURLOPT参数说明(curl_setopt)
Sep 30 PHP
php实现指定字符串中查找子字符串的方法
Mar 17 PHP
php实现比较两个字符串日期大小的方法
May 12 PHP
YII Framework框架教程之使用YIIC快速创建YII应用详解
Mar 15 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二维数组用键名分组相加实例函数
2013/11/06 PHP
php中加密解密DES类的简单使用方法示例
2020/03/26 PHP
jquery 笔记 事件
2011/11/02 Javascript
Javascript代码在页面加载时的执行顺序介绍
2013/05/03 Javascript
PHP守护进程实例
2015/03/06 Javascript
jQuery插件实现带圆点的焦点图片轮播切换
2016/01/18 Javascript
jQuery实时显示鼠标指针位置和键盘ASCII码
2016/03/28 Javascript
输入框点击时边框变色效果的实现方法
2016/12/26 Javascript
vue与TypeScript集成配置最简教程(推荐)
2017/10/17 Javascript
JS中获取 DOM 元素的绝对位置实例详解
2018/04/23 Javascript
VueCli3构建TS项目的方法步骤
2018/11/07 Javascript
vue封装一个简单的div框选时间的组件的方法
2019/01/06 Javascript
微信小程序实现的自定义分享功能示例
2019/02/12 Javascript
了解javascript中的Dom操作
2019/05/27 Javascript
vue和iview实现Scroll 数据无限滚动功能
2019/10/31 Javascript
vue使用echarts实现水平柱形图实例
2020/09/09 Javascript
Vue用mixin合并重复代码的实现
2020/11/27 Vue.js
[01:58]最残酷竞争 2016国际邀请赛中国区预选赛积分循环赛回顾
2016/06/28 DOTA
Python多线程编程(六):可重入锁RLock
2015/04/05 Python
python编程实现12306的一个小爬虫实例
2017/12/27 Python
python smtplib模块自动收发邮件功能(一)
2018/05/22 Python
Python3获取拉勾网招聘信息的方法实例
2019/04/03 Python
python实现引用其他路径包里面的模块
2020/03/09 Python
python多线程实现同时执行两个while循环的操作
2020/05/02 Python
Python实现加密接口测试方法步骤详解
2020/06/05 Python
浅谈python出错时traceback的解读
2020/07/15 Python
css背景图片的背景裁切、背景透明度、背景变换等效果运用
2012/12/24 HTML / CSS
智利最大的网上商店:Linio智利
2016/11/24 全球购物
佐卡伊官网:中国知名珠宝品牌
2017/02/05 全球购物
可靠的数据流传输TCP
2016/03/15 面试题
美德好少年主要事迹
2014/01/29 职场文书
初中优秀班集体申报材料
2014/05/01 职场文书
道歉短信大全
2015/05/12 职场文书
与死神共舞观后感
2015/06/15 职场文书
高三生物教学反思
2016/02/22 职场文书
超级实用的公文标题大全!
2019/07/19 职场文书