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程序61条面向对象分析设计的经验小结
Nov 12 PHP
PHP 操作文件的一些FAQ总结
Feb 12 PHP
有道搜索和IP138的IP的API接口(PHP应用)
Nov 29 PHP
深入解析PHP 5.3.x 的strtotime() 时区设定 警告信息修复
Aug 05 PHP
PHP+javascript制作带提示的验证码源码分享
May 28 PHP
php接口数据加密、解密、验证签名
Mar 12 PHP
详解PHP实现执行定时任务
Dec 21 PHP
ThinkPHP框架里隐藏index.php
Apr 12 PHP
Yii框架中sphinx索引配置方法解析
Oct 18 PHP
PHP空值检测函数与方法汇总
Nov 19 PHP
PHP中十六进制颜色与RGB颜色值互转的方法
Mar 18 PHP
PHP实现简单注册登录系统
Dec 28 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学习之 数组声明
2011/06/09 PHP
解析PHP高效率写法(详解原因)
2013/06/20 PHP
php实现表单多按钮提交action的处理方法
2015/10/24 PHP
php curl上传、下载、https登陆实现代码
2017/07/23 PHP
TP5框架页面跳转样式操作示例
2020/04/05 PHP
编写简单的jQuery提示插件
2014/12/21 Javascript
JavaScript动态改变表格单元格内容的方法
2015/03/30 Javascript
yui3的AOP(面向切面编程)和OOP(面向对象编程)
2015/05/01 Javascript
使用Javascript写的2048小游戏
2015/11/25 Javascript
详解微信小程序Page中data数据操作和函数调用
2017/09/27 Javascript
Vue项目组件化工程开发实践方案
2018/01/09 Javascript
浅谈Node.js 中间件模式
2018/06/12 Javascript
Vue.js 通过jQuery ajax获取数据实现更新后重新渲染页面的方法
2018/08/09 jQuery
React实现全局组件的Toast轻提示效果
2018/09/21 Javascript
electron-vue开发环境内存泄漏问题汇总
2019/10/10 Javascript
微信小程序实现按字母排列选择城市功能
2019/11/25 Javascript
浅谈vue-props的default写不写有什么区别
2020/08/09 Javascript
JavaScript 实现拖拽效果组件功能(兼容移动端)
2020/11/11 Javascript
[01:12:35]Spirit vs Navi Supermajor小组赛 A组败者组第一轮 BO3 第二场 6.2
2018/06/03 DOTA
Python极简代码实现杨辉三角示例代码
2016/11/15 Python
Python使用微信接入图灵机器人过程解析
2019/11/04 Python
Python动态声明变量赋值代码实例
2019/12/30 Python
Blue Nile台湾:钻石珠宝商,订婚首饰、结婚戒指和精品首饰
2017/11/24 全球购物
德国自然时尚和有机产品购物网站:Waschbär
2019/05/29 全球购物
商务英语专业应届毕业生求职信
2013/10/28 职场文书
工商企业管理实习自我鉴定
2013/12/04 职场文书
小班幼儿评语大全
2014/04/30 职场文书
欢迎领导检查标语
2014/06/27 职场文书
夫妻双方自愿离婚协议书怎么写
2014/12/01 职场文书
关于调整工作时间的通知
2015/04/24 职场文书
开国大典观后感
2015/06/04 职场文书
2015年幼师个人工作总结
2015/10/15 职场文书
大学生社区义工服务心得体会
2016/01/22 职场文书
pytorch 如何使用batch训练lstm网络
2021/05/28 Python
解决mysql的int型主键自增问题
2021/07/15 MySQL
CentOS8.4安装Redis6.2.6的详细过程
2021/11/20 Redis