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详解ASCII码对照表与字符转换
Dec 05 PHP
php正则表达匹配中文问题分析小结
Mar 25 PHP
PHP变量内存分配问题记录整理
Nov 27 PHP
codeigniter教程之上传视频并使用ffmpeg转flv示例
Feb 13 PHP
php查询mssql出现乱码的解决方法
Dec 29 PHP
php对文件进行hash运算的方法
Apr 03 PHP
调试WordPress中定时任务的相关PHP脚本示例
Dec 10 PHP
变量在 PHP7 内部的实现(一)
Dec 21 PHP
Yii2针对指定url的生成及图片等的引入方法小结
Jul 18 PHP
Yii2 队列 shmilyzxt/yii2-queue 简单概述
Aug 02 PHP
php7性能提升的原因详解
Oct 13 PHP
PHP高并发和大流量解决方案整理
Dec 24 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程序
2012/02/04 PHP
PHP微信红包API接口
2015/12/05 PHP
学习php设计模式 php实现策略模式(strategy)
2015/12/07 PHP
laravel5.4生成验证码的实例讲解
2017/08/05 PHP
PHP使用ActiveMQ实现消息队列的方法详解
2019/05/31 PHP
JQUERY复选框CHECKBOX全选,取消全选
2008/08/30 Javascript
基于jquery库的tab新形式使用
2012/11/16 Javascript
Javascript写入txt和读取txt文件示例
2014/02/12 Javascript
JQuery中$(document)是什么意思有什么作用
2014/07/21 Javascript
js基于面向对象实现网页TAB选项卡菜单效果代码
2015/09/09 Javascript
JS实现的左侧竖向滑动菜单效果代码
2015/10/19 Javascript
Bootstrap精简教程
2015/11/27 Javascript
解决jquery无法找到其他父级子集问题的方法
2016/05/10 Javascript
浅谈javascript中new操作符的原理
2016/06/07 Javascript
jQuery遍历节点方法汇总(推荐)
2017/05/13 jQuery
webpack配置sass模块的加载的方法
2017/07/30 Javascript
Vue.js实现实例搜索应用功能详细代码
2017/08/24 Javascript
详解vue-cli3多环境打包配置
2019/03/28 Javascript
JS计算两个数组的交集、差集、并集、补集(多种实现方式)
2019/05/21 Javascript
浅谈小程序globalData的那些事儿
2019/11/01 Javascript
[01:33:07]VGJ.T vs Newbee Supermajor 败者组 BO3 第一场 6.6
2018/06/07 DOTA
python 正则式使用心得
2009/05/07 Python
python批量赋值操作实例
2018/10/22 Python
Python元组知识点总结
2019/02/18 Python
如何通过50行Python代码获取公众号全部文章
2019/07/12 Python
Python简易版停车管理系统
2019/08/12 Python
使用OpenCV实现道路车辆计数的使用方法
2020/07/15 Python
pycharm实现猜数游戏
2020/12/07 Python
CSS3模拟动画下拉菜单效果
2017/04/12 HTML / CSS
Boston Proper官网:美国女装品牌
2017/10/30 全球购物
科颜氏英国官网:Kiehl’s英国
2019/11/20 全球购物
初中科学教学反思
2014/01/21 职场文书
幼儿园小班家长寄语
2014/04/02 职场文书
裁员通知
2015/04/25 职场文书
有关信念的名言语录集锦
2019/12/06 职场文书
CentOS下安装Jenkins的完整步骤
2022/04/07 Servers