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截取中文字符串的问题
Jul 12 PHP
对Session和Cookie的区分与解释
Mar 16 PHP
解决163/sohu/sina不能够收到PHP MAIL函数发出邮件的问题
Mar 13 PHP
PHP 巧用数组降低程序的时间复杂度
Jan 01 PHP
php DOS攻击实现代码(附如何防范)
May 29 PHP
解决ajax+php中文乱码的方法详解
Jun 09 PHP
PHP保留两位小数并且四舍五入及不四舍五入的方法
Sep 22 PHP
PHP编程中的__clone()方法使用详解
Nov 27 PHP
PHP环境搭建的详细步骤
Jun 30 PHP
PHP的mysqli_ssl_set()函数讲解
Jan 23 PHP
thinkphp5 框架结合plupload实现图片批量上传功能示例
Apr 04 PHP
PHP7 其他修改
Mar 09 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整数取余返回负数的相关解决方法
2014/05/15 PHP
ThinkPHP3.1新特性之查询条件预处理简介
2014/06/19 PHP
php批量删除数据库下指定前缀的表以prefix_为例
2014/08/24 PHP
PHP获取用户访问IP地址的5种方法
2016/05/16 PHP
精选的10款用于构建良好易用性网站的jQuery插件
2011/01/23 Javascript
jQuery find和children方法使用
2011/01/31 Javascript
js中将HTMLCollection/NodeList/伪数组转换成数组的代码
2011/07/31 Javascript
如何使Chrome控制台支持多行js模式——意外发现
2013/06/13 Javascript
JS实现图片横向滚动效果示例代码
2013/09/04 Javascript
javascript中数组array及string的方法总结
2014/11/28 Javascript
Jqgrid之强大的表格插件应用
2015/12/02 Javascript
使用JS实现图片展示瀑布流效果(简单实例)
2016/09/06 Javascript
easyui messager alert 三秒后自动关闭提示的实例
2016/11/07 Javascript
linux 后台运行node服务指令方法
2018/05/23 Javascript
在vue2.0中引用element-ui组件库的方法
2018/06/21 Javascript
vue 实现左右拖拽元素并且不超过他的父元素的宽度
2018/11/30 Javascript
使用Vue父子组件通信实现todolist的功能示例代码
2019/04/11 Javascript
在vue中嵌入外部网站的实现
2020/11/13 Javascript
[01:04:05]VG vs Newbee 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/20 DOTA
python局部赋值的规则
2013/03/07 Python
python自动安装pip
2014/04/24 Python
解决Python安装后pip不能用的问题
2018/06/12 Python
django框架基于模板 生成 excel(xls) 文件操作示例
2019/06/19 Python
Python 实现输入任意多个数,并计算其平均值的例子
2019/07/16 Python
用python的turtle模块实现给女票画个小心心
2019/11/23 Python
Python生成并下载文件后端代码实例
2020/08/31 Python
CSS3制作酷炫的三维相册效果
2016/07/01 HTML / CSS
CSS3模拟动画下拉菜单效果
2017/04/12 HTML / CSS
Linux面试题LINUX系统类
2015/11/25 面试题
《搭石》教学反思
2014/04/07 职场文书
《将心比心》教学反思
2014/04/08 职场文书
政风行风整改报告
2014/11/06 职场文书
2014年残联工作总结
2014/11/21 职场文书
大学副班长竞选稿
2015/11/21 职场文书
nginx location优先级的深入讲解
2021/03/31 Servers
Python学习之迭代器详解
2022/04/01 Python