浅析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中$_REQUEST、$_POST、$_GET的区别和联系小结
Nov 23 PHP
编写php应用程序实现摘要式身份验证的方法详解
Jun 08 PHP
PHP包含文件函数include、include_once、require、require_once区别总结
Apr 05 PHP
使用PHP处理数据库数据如何将数据返回客户端并显示当前状态
Feb 16 PHP
深入理解php printf() 输出格式化的字符串
May 23 PHP
php微信支付之公众号支付功能
May 30 PHP
PDO::rollBack讲解
Jan 29 PHP
[原创]PHP global全局变量经典应用与注意事项分析【附$GLOBALS用法对比】
Jul 12 PHP
PHP实现cookie跨域session共享的方法分析
Aug 23 PHP
PHP 文件上传限制问题
Sep 01 PHP
gearman管理工具GearmanManager的安装与php使用方法示例
Feb 27 PHP
php获取小程序码的实现代码(B类接口)
Jun 13 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
全国FM电台频率大全 - 7 吉林省
2020/03/11 无线电
一个高ai的分页函数和一个url函数
2006/10/09 PHP
php使用curl出现Expect:100-continue解决方法
2015/03/03 PHP
PHP输出日历表代码实例
2015/03/27 PHP
Yii中Model(模型)的创建及使用方法
2015/12/28 PHP
PHP接口类(interface)的定义、特点和应用示例
2020/05/18 PHP
JS无限极树形菜单,json格式、数组格式通用示例
2013/07/30 Javascript
extjs表格文本启用选择复制功能具体实现
2013/10/11 Javascript
使用JS+plupload直接批量上传图片到又拍云
2014/12/01 Javascript
如何判断出一个js对象是否一个dom对象
2016/11/24 Javascript
jquery UI Datepicker时间控件冲突问题解决
2016/12/16 Javascript
BootStrap Table 后台数据绑定、特殊列处理、排序功能
2017/05/27 Javascript
Vue源码学习之初始化模块init.js解析
2017/11/02 Javascript
微信小程序实现倒计时补零功能
2018/07/09 Javascript
小程序开发踩坑:页面窗口定位(相对于浏览器定位)(推荐)
2019/04/25 Javascript
vue-cli基础配置及webpack配置修改的完整步骤
2019/10/20 Javascript
全网小程序接口请求封装实例代码
2020/11/06 Javascript
[54:29]2018DOTA2亚洲邀请赛 4.7 淘汰赛 VP vs LGD 第二场
2018/04/09 DOTA
局域网内python socket实现windows与linux间的消息传送
2019/04/19 Python
python占位符输入方式实例
2019/05/27 Python
Python实现将字符串的首字母变为大写,其余都变为小写的方法
2019/06/11 Python
Tensorflow训练模型越来越慢的2种解决方案
2020/02/07 Python
Pytorch中的自动求梯度机制和Variable类实例
2020/02/29 Python
Pygame的程序开始示例代码
2020/05/07 Python
keras的backend 设置 tensorflow,theano操作
2020/06/30 Python
我能否用void** 指针作为参数, 使函数按引用接受一般指针
2013/02/16 面试题
管理科学大学生求职信
2013/11/13 职场文书
篝火晚会主持词
2014/03/25 职场文书
成品库仓管员岗位职责
2014/04/06 职场文书
篮球比赛策划方案
2014/06/05 职场文书
永远跟党走演讲稿
2014/09/12 职场文书
医德医风个人总结
2015/02/28 职场文书
护士旷工检讨书
2015/08/15 职场文书
mybatis使用oracle进行添加数据的方法
2021/04/27 Oracle
详解MySQL多版本并发控制机制(MVCC)源码
2021/06/23 MySQL
python中super()函数的理解与基本使用
2021/08/30 Python