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 array_search() 函数使用
Apr 13 PHP
PHP的cURL库功能简介 抓取网页、POST数据及其他
Apr 07 PHP
在smarty中调用php内置函数的方法
Feb 07 PHP
ueditor 1.2.6 使用方法说明
Jul 24 PHP
PHP时间戳 strtotime()使用方法和技巧
Oct 29 PHP
php建立Ftp连接的方法
Mar 07 PHP
Yii2增加验证码步骤详解
Apr 25 PHP
php使用CutyCapt实现网页截图保存的方法
Oct 03 PHP
php微信公众平台开发(四)回复功能开发
Dec 06 PHP
php UNIX时间戳用法详解
Feb 16 PHP
php面向对象之反射功能与用法分析
Mar 29 PHP
TP5.0框架实现无限极回复功能的方法分析
May 04 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
如何设置mysql允许外网访问
2013/06/04 PHP
修改php.ini不生效问题解决方法(上传大于8M的文件)
2013/06/14 PHP
php中\r \r\n \t的区别示例介绍
2014/02/08 PHP
php中in_array函数用法探究
2014/11/25 PHP
PHP-X系列教程之内置函数的使用示例
2017/10/16 PHP
javascript实现上传图片前的预览(TX的面试题)
2007/08/20 Javascript
一个简单的jQuery插件制作 学习过程及实例
2010/04/25 Javascript
JS中动态添加事件(绑定事件)的代码
2011/01/09 Javascript
jQuery的显示和隐藏方法与css隐藏的样式对比
2013/10/18 Javascript
js模拟点击以提交表单为例兼容主流浏览器
2013/11/29 Javascript
jquery 中ajax执行的优先级
2015/06/22 Javascript
JS图片放大效果简单实现代码
2016/09/08 Javascript
浅谈Web页面向后台提交数据的方式和选择
2016/09/23 Javascript
利用Plupload.js解决大文件上传问题, 带进度条和背景遮罩层
2017/03/15 Javascript
vue.js中mint-ui框架的使用方法
2017/05/12 Javascript
vue全局组件与局部组件使用方法详解
2018/03/29 Javascript
vue-cli3.0 环境变量与模式配置方法
2018/11/08 Javascript
微信小程序实现圆形进度条动画
2020/11/18 Javascript
JavaScript实现轮播图片完整代码
2020/03/07 Javascript
JS实现放烟花效果
2020/03/10 Javascript
vue全局使用axios的操作
2020/09/08 Javascript
Openlayers显示瓦片网格信息的方法
2020/09/28 Javascript
使用Python读写文本文件及编写简单的文本编辑器
2016/03/11 Python
快速解决pyqt5窗体关闭后子线程不同时退出的问题
2019/06/19 Python
Python3将jpg转为pdf文件的方法示例
2019/12/13 Python
python数据预处理 :数据共线性处理详解
2020/02/24 Python
Python 删除List元素的三种方法remove、pop、del
2020/11/16 Python
Web前端绘制0.5像素的几种方法
2017/08/11 HTML / CSS
Html5无刷新修改browser Url的方法
2014/01/15 HTML / CSS
印度网上药店:1mg
2017/10/13 全球购物
美国网上书店:Barnes & Noble
2018/08/15 全球购物
人事主管岗位职责范本
2013/12/04 职场文书
军校大学生个人的自我评价
2014/02/17 职场文书
党员三严三实对照检查材料
2014/10/13 职场文书
幼儿教师三分钟演讲稿
2019/06/21 职场文书
MySQL下使用Inplace和Online方式创建索引的教程
2021/05/26 MySQL