浅析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基础知识:类与对象(2) 自动加载对象
Dec 13 PHP
php读取数据库信息的几种方法
May 24 PHP
PHP脚本中include文件出错解决方法
Nov 20 PHP
PHP mkdir()无写权限的问题解决方法
Jun 19 PHP
PHP封装的一个支持HTML、JS、PHP重定向的多功能跳转函数
Jun 19 PHP
支持中文、字母、数字的PHP验证码
May 04 PHP
php通过baihui网API实现读取word文档并展示
Jun 22 PHP
浅析PHP开发规范
Feb 05 PHP
Laravel框架生命周期与原理分析
Jun 12 PHP
PHP实现简单计算器小程序
Aug 28 PHP
Laravel中9个不经常用的小技巧汇总
Apr 16 PHP
Laravel解决nesting level错误和隐藏index.php的问题
Oct 12 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的十大要点(上)
2009/02/04 PHP
iOS自定义提示弹出框实现类似UIAlertView的效果
2016/11/16 PHP
javascript+mapbar实现地图定位
2010/04/09 Javascript
一个非常全面的javascript URL解析函数和分段URL解析方法
2014/04/12 Javascript
Javascript模块化编程详解
2014/12/01 Javascript
node.js开机自启动脚本文件
2014/12/24 Javascript
js接收并转化Java中的数组对象的方法
2016/08/11 Javascript
BootStrap glyphicon图标无法显示的解决方法
2016/09/06 Javascript
详解Node.js:events事件模块
2016/11/24 Javascript
js实现瀑布流效果(自动生成新的内容)
2017/03/16 Javascript
JS实现的base64加密解密操作示例
2018/04/18 Javascript
详解vue-cli3开发Chrome插件实践
2019/05/29 Javascript
解决Vue keep-alive 调用 $destory() 页面不再被缓存的情况
2020/10/30 Javascript
[02:49]2014DOTA2电竞也是体育项目! 势要把荣誉带回中国!
2014/07/20 DOTA
python socket 超时设置 errno 10054
2014/07/01 Python
浅谈Python中列表生成式和生成器的区别
2015/08/03 Python
Python使用正则表达式抓取网页图片的方法示例
2017/04/21 Python
python中子类调用父类函数的方法示例
2017/08/18 Python
Python实现的人工神经网络算法示例【基于反向传播算法】
2017/11/11 Python
快速解决PyCharm无法引用matplotlib的问题
2018/05/24 Python
python远程连接服务器MySQL数据库
2018/07/02 Python
使用Python实现图像标记点的坐标输出功能
2019/08/14 Python
使用python制作一个解压缩软件
2019/11/13 Python
Python实现将元组中的元素作为参数传入函数的操作
2020/06/05 Python
Python使用socket模块实现简单tcp通信
2020/08/18 Python
python 实现逻辑回归
2020/12/30 Python
Chicco婴儿用品美国官网:汽车座椅、婴儿推车、高脚椅等
2018/11/05 全球购物
华为智利官方商店:Huawei Chile
2020/05/09 全球购物
美国在线肉类和海鲜配送:Crowd Cow
2020/10/02 全球购物
《蚂蚁和蝈蝈》教学反思
2014/02/24 职场文书
重点工程汇报材料
2014/08/27 职场文书
幸福家庭事迹材料
2014/12/20 职场文书
同学聚会邀请函
2015/01/30 职场文书
医德医风自我评价2015
2015/03/03 职场文书
求职自我推荐信
2015/03/24 职场文书
mysql insert 存在即不插入语法说明
2022/03/25 MySQL