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面向对象编程快速入门
Oct 09 PHP
解析PayPal支付接口的PHP开发方式
Nov 28 PHP
linux下使用ThinkPHP需要注意大小写导致的问题
Aug 02 PHP
PHP连接操作access数据库实例
Mar 30 PHP
微信公众平台实现获取用户OpenID的方法
Apr 15 PHP
PHP常用工具类大全附全部代码下载
Dec 07 PHP
Zend Framework连接Mysql数据库实例分析
Mar 19 PHP
php使用str_shuffle()函数生成随机字符串的方法分析
Feb 17 PHP
PHP实现的多维数组去重操作示例
Jul 21 PHP
Laravel创建数据库表结构的例子
Oct 09 PHP
Laravel框架实现即点即改功能的方法分析
Oct 31 PHP
Thinkphp 框架配置操作之动态配置、扩展配置及批量配置实例分析
May 15 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 命令行工具 shell_exec, exec, passthru, system详细使用介绍
2011/09/11 PHP
Laravel中GraphQL接口请求频率实战记录
2020/09/01 PHP
JavaScript 错误处理与调试经验总结
2010/08/10 Javascript
关于Javascript模块化和命名空间管理的问题说明
2010/12/06 Javascript
固定背景实现的背景滚动特效示例分享
2013/05/19 Javascript
基于jquery实现的省市区级联无ajax
2013/09/24 Javascript
jQuery设置和移除文本框默认值的方法
2015/03/09 Javascript
js实现横向伸展开的二级导航菜单代码
2015/08/28 Javascript
前端程序员必须知道的高性能Javascript知识
2016/08/24 Javascript
vue按需引入element Transfer 穿梭框
2017/09/30 Javascript
js 两数组去除重复数值的实例
2017/12/06 Javascript
Vue仿今日头条实例详解
2018/02/06 Javascript
vue中阻止click事件冒泡,防止触发另一个事件的方法
2018/02/08 Javascript
vue2.0+vuex+localStorage代办事项应用实现详解
2018/05/31 Javascript
JS实现中英文混合文字溢出友好截取功能
2018/08/06 Javascript
微信小程序云开发之模拟后台增删改查
2019/05/16 Javascript
Element ui 下拉多选时新增一个选择所有的选项
2019/08/21 Javascript
python调用cmd复制文件代码分享
2013/12/27 Python
python实现排序算法
2014/02/14 Python
python使用WMI检测windows系统信息、硬盘信息、网卡信息的方法
2015/05/15 Python
Python中文字符串截取问题
2015/06/15 Python
Python中几种导入模块的方式总结
2017/04/27 Python
Python实现的摇骰子猜大小功能小游戏示例
2017/12/18 Python
Python重新加载模块的实现方法
2018/10/16 Python
pycharm中成功运行图片的配置教程
2018/10/28 Python
Appium+Python自动化测试之运行App程序示例
2019/01/23 Python
Python pymysql模块安装并操作过程解析
2020/10/13 Python
美国一家主打母婴用品的团购网站:zulily
2017/09/19 全球购物
CHARLES & KEITH加拿大官网:新加坡时尚品牌
2020/03/26 全球购物
.NET remoting中对象激活的两种方式
2015/06/08 面试题
为什么需要版本控制
2016/10/28 面试题
新郎父亲婚宴答谢词
2014/01/11 职场文书
家长对孩子评语
2014/01/30 职场文书
素食餐饮项目创业计划书
2014/02/02 职场文书
代理协议书
2014/04/22 职场文书
2019最新公司租房合同(例文)
2019/07/18 职场文书