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 相关文章推荐
教你如何把一篇文章按要求分段
Oct 09 PHP
php 面向对象的一个例子
Apr 12 PHP
利用ThinkPHP内置的ThinkAjax实现异步传输技术的实现方法
Dec 19 PHP
浅析php学习的路线图
Jul 10 PHP
PHP统计二维数组元素个数的方法
Nov 12 PHP
PHP制作百度词典查词采集器
Jan 29 PHP
PHP实现根据图片色界在不同位置加水印的方法
Aug 08 PHP
dvwa+xampp搭建显示乱码的问题及解决方案
Aug 23 PHP
smarty自定义函数用法示例
May 20 PHP
PHP定义字符串的四种方式详解
Feb 06 PHP
PHP生成腾讯云COS接口需要的请求签名
May 20 PHP
laravel 字段格式化 modle 字段类型转换方法
Sep 30 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
DC动画很好看?新作烂得令人发指,名叫《红色之子》
2020/04/09 欧美动漫
php中strtotime函数用法详解
2014/11/15 PHP
迪菲-赫尔曼密钥交换(Diffie?Hellman)算法原理和PHP实现版
2015/05/12 PHP
如何用PHP来实现一个动态Web服务器
2015/07/29 PHP
ThinkPHP3.2.3框架实现的空模块、空控制器、空操作,跳转到错误404页面图文详解
2019/04/03 PHP
JS+CSS实现仿新浪微博搜索框的方法
2015/02/24 Javascript
原生JS实现拖拽图片效果
2020/08/27 Javascript
基于javascript实现tab选项卡切换特效调试笔记
2016/03/30 Javascript
js+css3制作时钟特效
2016/10/16 Javascript
JS中用三种方式实现导航菜单中的二级下拉菜单
2016/10/31 Javascript
Vue原理剖析 实现双向绑定MVVM
2017/05/03 Javascript
ndm:NPM的桌面GUI应用程序
2018/10/15 Javascript
vue中的适配px2rem示例代码
2018/11/19 Javascript
Vue分页器实现原理详解
2019/06/28 Javascript
微信小程序实现带放大效果的轮播图
2020/05/26 Javascript
[01:11:27]2018DOTA2亚洲邀请赛小组赛 A组加赛 Newbee vs Optic
2018/04/03 DOTA
讲解Python中的标识运算符
2015/05/14 Python
python中字符串的操作方法大全
2018/06/03 Python
浅谈flask源码之请求过程
2018/07/26 Python
Python字符串、整数、和浮点型数相互转换实例
2018/08/04 Python
Windows下PyCharm安装图文教程
2018/08/27 Python
Python图片的横坐标汉字实例
2019/12/04 Python
Python自动化xpath实现自动抢票抢货
2020/09/19 Python
Selenium执行完毕未关闭chromedriver/geckodriver进程的解决办法(java版+python版)
2020/12/07 Python
python模块内置属性概念及实例
2021/02/18 Python
Html5实现iPhone开机界面示例代码
2013/06/30 HTML / CSS
电影T恤、80年代T恤和80年代服装:TV Store Online
2020/01/05 全球购物
华为的Java面试题
2014/03/07 面试题
个人政风行风自查自纠报告
2014/10/21 职场文书
习近平在党的群众路线教育实践活动总结大会上的讲话全文
2014/10/25 职场文书
中班上学期个人总结
2015/02/12 职场文书
2015新教师教学工作总结
2015/07/22 职场文书
[有人@你]你有一封绿色倡议书,请查收!
2019/07/18 职场文书
如何计划开一家便利店?
2019/07/31 职场文书
tensorflow中的数据类型dtype用法说明
2021/05/26 Python
mongodb清除连接和日志的正确方法分享
2021/09/15 MongoDB