浅析Yii2 GridView 日期格式化并实现日期可搜索教程


Posted in PHP onApril 22, 2016

先给大家展示下日期格式化效果图,如果大家满意请继续往下阅读:浅析Yii2 GridView 日期格式化并实现日期可搜索教程

这个我们分情况讨论

1、如果你的数据库字段created_at存的时间格式是date或者datetime,那很简单,gridview中直接输出该字段created_at即可,如上图中右侧所示

2、如果数据库存入的时间戳类型,如上图中左侧所示,则需要像下面这样进行输出

[
'attribute' => 'created_at',
'value' => function ($model) {
return date('Y-m-d H:i:s', $model->created_at);
},
],
[
'attribute' => 'created_at',
'format' => ['date', 'Y-m-d H:i:s'],
],

以上展示了两种方式进行格式输出,都可以。但是,如果想要实现搜索的机制,如果你的数据库存入的是datetime型,很方便,dataProvider不用做修改,

代码如下

$query->andFilterWhere([
// ......
'created_at' => $this->created_at,
// ......
]);

如果你的数据库存入的是时间戳。

第一步,修改对应规则如下图所示

第二步,修改dataProvider可参考如下代码

//我们搜索输入框中输入的格式一般是 2016-01-01 而非时间戳
//输出2016-01-01无非是想搜索这一天的数据,因此代码如下
if ($this->created_at) {
$createdAt = strtotime($this->created_at);
$createdAtEnd = $createdAt + 24*3600;
$query->andWhere("created_at >= {$createdAt} AND created_at <= {$createdAtEnd}");
}

这里做个小总结,建议使用datetime类型,个人觉得存时间戳甚是麻烦,如果你有好的建议,欢迎给我留言,共同学习进步。在此也非常感谢大家对三水点靠木网站的支持!

PHP 相关文章推荐
PHP4之COOKIE支持详解
Oct 09 PHP
PHP IPV6正则表达式验证代码
Feb 16 PHP
利用PHP生成静态HTML文档的原理
Oct 29 PHP
php调用MySQL存储过程的方法集合(推荐)
Jul 03 PHP
zf框架的registry(注册表)使用示例
Mar 13 PHP
php数组添加元素方法小结
Dec 20 PHP
详解yii2实现分库分表的方案与思路
Feb 03 PHP
php求数组全排列,元素所有组合的方法总结
Mar 14 PHP
PHP封装的XML简单操作类完整实例
Nov 13 PHP
PHP实现用session来实现记录用户登陆信息
Oct 15 PHP
PHP PDOStatement::rowCount讲解
Feb 01 PHP
php生成静态页面并实现预览功能
Jun 27 PHP
浅析Yii2 GridView实现下拉搜索教程
Apr 22 #PHP
PHP使用反射机制实现查找类和方法的所在位置
Apr 22 #PHP
浅析Yii2中GridView常见操作
Apr 22 #PHP
php简单实现sql防注入的方法
Apr 22 #PHP
PHP简单获取及判断提交来源的方法
Apr 22 #PHP
thinkPHP3.1验证码的简单实现方法
Apr 22 #PHP
thinkPHP实现将excel导入到数据库中的方法
Apr 22 #PHP
You might like
用PHP+java实现自动新闻滚动窗口
2006/10/09 PHP
详解PHP处理字符串类似indexof的方法函数
2017/06/11 PHP
PHP+redis实现的悲观锁机制示例
2018/06/12 PHP
jQuery UI 应用不同Theme的办法
2010/09/12 Javascript
基于Jquery的$.cookie()实现跨越页面tabs导航实现代码
2011/03/03 Javascript
jquery 获取表单元素里面的值示例代码
2013/07/28 Javascript
JavaScript中使用document.write向页面输出内容实例
2014/10/16 Javascript
详解微信小程序 登录获取unionid
2017/06/27 Javascript
详解适配器在JavaScript中的体现
2018/09/28 Javascript
JS/HTML5游戏常用算法之碰撞检测 像素检测算法实例详解
2018/12/12 Javascript
vue实现form表单与table表格的数据关联功能示例
2019/01/29 Javascript
微信小程序自定义tabbar custom-tab-bar 6s出不来解决方案(cover-view不兼容)
2019/11/01 Javascript
vue实现带过渡效果的下拉菜单功能
2020/02/19 Javascript
用vite搭建vue3应用的实现方法
2021/02/22 Vue.js
[00:43]DOTA2小紫本全民票选福利PA至宝全方位展示
2014/11/25 DOTA
详解django+django-celery+celery的整合实战
2019/03/19 Python
python多线程与多进程及其区别详解
2019/08/08 Python
Pytorch 实现冻结指定卷积层的参数
2020/01/06 Python
python实现TCP文件传输
2020/03/20 Python
浅谈Python中threading join和setDaemon用法及区别说明
2020/05/02 Python
基于python实现操作redis及消息队列
2020/08/27 Python
详解如何在css中引入自定义字体(font-face)
2018/05/17 HTML / CSS
详解使用canvas保存网页为pdf文件支持跨域
2018/11/23 HTML / CSS
HTML5不支持标签和新增标签详解
2016/06/27 HTML / CSS
高校毕业生自我鉴定
2013/10/27 职场文书
三好学生自我鉴定
2013/12/17 职场文书
高级护理专业毕业生推荐信
2013/12/25 职场文书
音乐教学反思
2014/02/02 职场文书
人力资源作业细则
2014/03/03 职场文书
法语专业求职信
2014/07/20 职场文书
创先争优活动党员公开承诺书
2014/08/29 职场文书
环卫工作汇报材料
2014/10/28 职场文书
大学生操行评语大全
2014/12/31 职场文书
公文写作:教你写“建议书”
2019/05/07 职场文书
工作汇报材料难写?方法都在这里了!
2019/07/01 职场文书
排查并解决MySQL生产库内存使用率高的报警
2022/04/11 MySQL