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 相关文章推荐
PHP面向对象编程快速入门
Dec 14 PHP
php中的一个中文字符串截取函数
Feb 14 PHP
php 保留小数点
Apr 21 PHP
php正则表达匹配中文问题分析小结
Mar 25 PHP
php获取系统变量方法小结
May 29 PHP
PHP中header用法小结
May 23 PHP
PHP获取当前文件的父目录方法汇总
Jul 21 PHP
PHP框架自动加载类文件原理详解
Jun 06 PHP
PHP实现无限极分类的两种方式示例【递归和引用方式】
Mar 25 PHP
php源码的使用方法讲解
Sep 26 PHP
Laravel框架使用技巧之使用url()全局函数返回前一个页面的地址方法详解
Apr 06 PHP
php生成随机数/生成随机字符串的方法小结【5种方法】
May 27 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原理之异常机制深入分析
2010/08/08 PHP
PHP Hash算法:Times33算法代码实例
2015/05/13 PHP
Yii2 rbac权限控制操作步骤实例教程
2016/04/29 PHP
PHP使用递归算法无限遍历数组示例
2017/01/13 PHP
thinkphp实现把数据库中的列的值存到下拉框中的方法
2017/01/20 PHP
php操作access数据库的方法详解
2017/02/22 PHP
PHP中register_shutdown_function函数的基础介绍与用法详解
2017/11/28 PHP
php依赖注入知识点详解
2019/09/23 PHP
jQuery中prevAll()方法用法实例
2015/01/08 Javascript
javascript实现框架高度随内容改变的方法
2015/07/23 Javascript
基于Jquery和html5的7款个性化地图插件
2015/11/17 Javascript
javascript字符串函数汇总
2015/12/06 Javascript
JavaScript“尽快失败”的原则实例详解
2016/10/08 Javascript
详解如何让Express支持async/await
2017/10/09 Javascript
Angular项目从新建、打包到nginx部署全过程记录
2017/12/09 Javascript
微信小程使用swiper组件实现图片轮播切换显示功能【附源码下载】
2017/12/12 Javascript
详解vue几种主动刷新的方法总结
2019/02/19 Javascript
茶余饭后聊聊Vue3.0响应式数据那些事儿
2019/10/30 Javascript
JS桶排序的简单理解与实现方法示例
2019/11/25 Javascript
实现一个Vue自定义指令懒加载的方法示例
2020/06/04 Javascript
js实现搜索提示框效果
2020/09/05 Javascript
[02:40]DOTA2殁境神蚀者 英雄基础教程
2013/11/26 DOTA
python网络编程之文件下载实例分析
2015/05/20 Python
python类装饰器用法实例
2015/06/04 Python
Python实现简单的HttpServer服务器示例
2017/09/25 Python
python之matplotlib学习绘制动态更新图实例代码
2018/01/23 Python
python实现dijkstra最短路由算法
2019/01/17 Python
python微信聊天机器人改进版(定时或触发抓取天气预报、励志语录等,向好友推送)
2019/04/25 Python
TensorFlow 显存使用机制详解
2020/02/03 Python
python 6行代码制作月历生成器
2020/09/18 Python
Python Pygame实现俄罗斯方块
2021/02/19 Python
C语言面试题
2015/10/30 面试题
公司活动总结范文
2014/07/01 职场文书
2014年酒店工作总结与计划
2014/11/17 职场文书
葬礼主持词
2015/07/02 职场文书
Matplotlib绘制混淆矩阵的实现
2021/05/27 Python