浅析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作的文本留言本的例子(三)
Oct 09 PHP
smarty section简介与用法分析
Oct 03 PHP
php中取得文件的后缀名?
Feb 20 PHP
yii框架builder、update、delete使用方法
Apr 30 PHP
PHP学习笔记之字符串编码的转换和判断
May 22 PHP
CodeIgniter框架过滤HTML危险代码
Jun 12 PHP
ThinkPHP模板比较标签用法详解
Jun 30 PHP
php的curl封装类用法实例
Nov 07 PHP
实例详解PHP中html word 互转的方法
Jan 28 PHP
Laravel 5.3 学习笔记之 配置
Aug 28 PHP
Yii CFileCache 获取不到值的原因分析
Feb 08 PHP
php源码的安装方法和实例
Sep 26 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
2020年4月放送!《Princess Connect Re:Dive》制作组 & 角色声优公开!
2020/03/06 日漫
php中定时计划任务的实现原理
2013/01/08 PHP
PHP实现的通过参数生成MYSQL语句类完整实例
2016/04/11 PHP
PHP实现的线索二叉树及二叉树遍历方法详解
2016/04/25 PHP
详解php实现页面静态化原理
2017/06/21 PHP
JavaScript 学习技巧
2010/02/17 Javascript
js下获取div中的数据的原理分析
2010/04/07 Javascript
jQuery 关于伪类选择符的使用说明
2013/04/24 Javascript
javascript 自定义回调函数示例代码
2014/09/26 Javascript
JavaScript学习小结(一)——JavaScript入门基础
2015/09/02 Javascript
JavaScript中误用/g导致的正则test()无法正确重复执行的解决方案
2016/07/27 Javascript
easyui-combobox 实现简单的自动补全功能示例
2016/11/08 Javascript
ES2015 Symbol 一种绝不重复的值
2016/12/25 Javascript
JS验证字符串功能
2017/02/22 Javascript
JavaScript实现实时更新系统时间的实例代码
2017/04/04 Javascript
Bootstrap提示框效果的实例代码
2017/07/12 Javascript
解决Vue+Element ui开发中碰到的IE问题
2018/09/03 Javascript
Vue中CSS动画原理的实现
2019/02/13 Javascript
JS数组中对象去重操作示例
2019/06/04 Javascript
node.js开发辅助工具nodemon安装与配置详解
2020/02/06 Javascript
用vue 实现手机触屏滑动功能
2020/05/28 Javascript
vue 导航锚点_点击平滑滚动,导航栏对应变化详解
2020/08/10 Javascript
JavaScript中跨域问题的深入理解
2021/03/04 Javascript
Python基于多线程实现ping扫描功能示例
2018/07/23 Python
python实现排序算法解析
2018/09/08 Python
VSCode Python开发环境配置的详细步骤
2019/02/22 Python
解决tensorflow/keras时出现数组维度不匹配问题
2020/06/29 Python
使用pandas实现筛选出指定列值所对应的行
2020/12/13 Python
Giglio俄罗斯奢侈品购物网:男士、女士、儿童高级时装
2018/07/27 全球购物
Crocs波兰官方商店:女鞋、男鞋、童鞋、洞洞鞋
2019/10/08 全球购物
销售部主管岗位职责
2013/12/18 职场文书
个人遵守党的政治纪律情况对照检查材料
2014/09/26 职场文书
电影雷锋观后感
2015/06/10 职场文书
SQL SERVER存储过程用法详解
2022/02/24 SQL Server
使用vue判断当前环境是安卓还是IOS
2022/04/12 Vue.js
vue @ ~ 相对路径 路径别名设置方式
2022/06/05 Vue.js