浅析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 相关文章推荐
PHP反射类ReflectionClass和ReflectionObject的使用方法
Nov 13 PHP
php导出word文档与excel电子表格的简单示例代码
Mar 08 PHP
PHP图片裁剪函数(保持图像不变形)
May 04 PHP
推荐一款MAC OS X 下php集成开发环境mamp
Nov 08 PHP
PHP中key和current,next的联合运用实例分析
Mar 29 PHP
thinkPHP实现将excel导入到数据库中的方法
Apr 22 PHP
PHP中读取文件的几个方法总结(推荐)
Jun 03 PHP
jQuery+php简单实现全选删除的方法
Nov 28 PHP
win10 apache配置虚拟主机后localhost无法使用的解决方法
Jan 27 PHP
laravel-admin select框默认选中的方法
Oct 03 PHP
Laravel timestamps 设置为unix时间戳的方法
Oct 11 PHP
详解阿里云视频直播PHP-SDK接入教程
Jul 09 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 图片加水印与上传图片加水印php类
2010/05/12 PHP
ajax在joomla中的原生态应用代码
2012/07/19 PHP
php封装的pdo数据库操作工具类与用法示例
2019/05/08 PHP
PHP抽象类和接口用法实例详解
2019/07/20 PHP
php使用自带dom扩展进行元素匹配的原理解析
2020/05/29 PHP
对setInterval在火狐和chrome切换标签产生奇怪的效果之探索,与解决方案!
2011/10/29 Javascript
JavaScript 图像动画的小demo
2012/05/23 Javascript
jQuery(js)获取文字宽度(显示长度)示例代码
2013/12/31 Javascript
AngularJS + Node.js + MongoDB开发的基于高德地图位置的通讯录
2015/01/02 Javascript
JS实现页面中所有img对象添加onclick事件及新窗口查看图片的方法
2016/12/27 Javascript
详解vue的数据binding绑定原理
2017/04/12 Javascript
js实现移动端编辑添加地址【模仿京东】
2017/04/28 Javascript
Vue项目中跨域问题解决方案
2018/06/05 Javascript
vue项目前端埋点的实现
2019/03/06 Javascript
Vue $mount实战之实现消息弹窗组件
2019/04/22 Javascript
浅谈JS的原型和继承
2019/05/08 Javascript
微信小程序上传图片并等比列压缩到指定大小的实例代码
2019/10/24 Javascript
Vue实现星级评价效果实例详解
2019/12/30 Javascript
Python数据结构之单链表详解
2017/09/12 Python
python获取服务器响应cookie的实例
2018/12/28 Python
docker django无法访问redis容器的解决方法
2019/08/21 Python
python 调试冷知识(小结)
2019/11/11 Python
使用pygame写一个古诗词填空通关游戏
2019/12/03 Python
关于Python字符串显示u...的解决方式
2020/03/06 Python
Python闭包及装饰器运行原理解析
2020/06/17 Python
Python join()函数原理及使用方法
2020/11/14 Python
pycharm远程连接服务器并配置python interpreter的方法
2020/12/23 Python
CSS3 按钮边框动画的实现
2020/11/12 HTML / CSS
巴西独家产品和现场演示购物网站:Shoptime
2019/07/11 全球购物
劳动纠纷调解协议书格式
2014/11/30 职场文书
总经理助理岗位职责范本
2015/03/31 职场文书
工伤劳动仲裁代理词
2015/05/25 职场文书
小学班级口号大全
2015/12/25 职场文书
婚礼必备主持词范本!
2019/07/23 职场文书
联想win10摄像头打不开怎么办?win10笔记本摄像头打不开解决办法
2022/04/08 数码科技
使用Bandicam录制鼠标指针并附带点击声音,还可以添加点击动画效果
2022/04/11 数码科技