浅析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 相关文章推荐
图片存储与浏览一例(Linux+Apache+PHP+MySQL)
Oct 09 PHP
PHP中使用CURL伪造来路抓取页面或文件
May 04 PHP
PHP编程函数安全篇
Jan 08 PHP
浅谈PHP变量作用域以及地址引用问题
Dec 27 PHP
PHP获取中英混合字符串长度的方法
Jun 07 PHP
php中将一段数据存到一个txt文件中并显示其内容
Aug 15 PHP
php禁止某ip或ip地址段访问的方法
Feb 25 PHP
php使用GD实现颜色渐变实例
Jun 02 PHP
CodeIgniter配置之database.php用法实例分析
Jan 20 PHP
浅谈mysql_query()函数的返回值问题
Sep 05 PHP
php读取本地json文件的实例
Mar 07 PHP
PHP多进程简单实例小结
Nov 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 远程文件管理,可以给表格排序,遍历目录,时间排序
2009/08/07 PHP
固定表格行列(expression)在IE下适用
2013/07/25 Javascript
jquery数组之存放checkbox全选值示例代码
2013/12/20 Javascript
jquery实现可自动收缩的TAB网页选项卡代码
2015/09/06 Javascript
浅析jquery如何判断滚动条滚到页面底部并执行事件
2016/04/29 Javascript
Javascript生成带参数的二维码示例
2016/10/10 Javascript
jQuery仿写百度百科的目录树
2017/01/03 Javascript
性能优化之代码优化页面加载速度
2017/03/01 Javascript
JS图片预加载插件详解
2017/06/21 Javascript
关于Angularjs中跨域设置白名单问题
2018/04/17 Javascript
vue 实现一个简单的全局调用弹窗案例
2020/09/10 Javascript
[01:13]2014DOTA2西雅图邀请赛 舌尖上的TI4
2014/07/08 DOTA
[01:17]辉夜杯战队访谈宣传片—EHOME
2015/12/25 DOTA
Python抓取京东图书评论数据
2014/08/31 Python
Python中pygame的mouse鼠标事件用法实例
2015/11/11 Python
python简单读取大文件的方法
2016/07/01 Python
django基础之数据库操作方法(详解)
2017/05/24 Python
对Python3中的input函数详解
2018/04/22 Python
python爬虫之urllib库常用方法用法总结大全
2018/11/14 Python
python动态文本进度条的实例代码
2020/01/22 Python
Python经典五人分鱼实例讲解
2021/01/04 Python
HTML5和CSS3实例教程总结(推荐)
2016/07/18 HTML / CSS
瑞贝卡·明可弗包包官网:Rebecca Minkoff
2016/07/21 全球购物
Europcar英国:英国汽车和货车租赁
2017/01/21 全球购物
以设计师精品品质提供快速时尚:Mostata
2019/05/10 全球购物
总裁岗位职责
2013/12/04 职场文书
一年级班主任寄语
2014/01/19 职场文书
低碳环保倡议书
2014/04/14 职场文书
十八大演讲稿
2014/05/22 职场文书
经典毕业生求职信
2014/07/12 职场文书
个人查摆剖析材料
2014/10/16 职场文书
党的群众路线教育实践活动个人整改方案
2014/10/25 职场文书
师范生见习报告范文
2014/11/03 职场文书
灵山大佛导游词
2015/02/04 职场文书
vue+elementui 实现新增和修改共用一个弹框的完整代码
2021/06/08 Vue.js
怎么禁用Win11输入法 最新Win11输入法关闭教程
2022/08/05 数码科技