浅析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 输出双引号&quot;与单引号'的方法
May 09 PHP
PHP序列号生成函数和字符串替换函数代码
Jun 07 PHP
php实例分享之html转为rtf格式
Jun 02 PHP
PHP 二维数组根据某个字段排序的具体实现
Jun 03 PHP
PHP编译安装中遇到的两个错误和解决方法
Aug 20 PHP
smarty中英文多编码字符截取乱码问题解决方法
Oct 28 PHP
实例讲解如何在PHP的Yii框架中进行错误和异常处理
Mar 17 PHP
php中实现进程锁与多进程的方法
Sep 18 PHP
PHP+mysql+ajax轻量级聊天室实现方法详解
Oct 17 PHP
PHP 信号管理知识整理汇总
Feb 19 PHP
thinkPHP框架动态配置用法实例分析
Jun 14 PHP
PHP7.1实现的AES与RSA加密操作示例
Jun 15 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/03/04 星际争霸
PHP 编写大型网站问题集
2010/05/07 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(二)
2014/06/23 PHP
PHP实现广度优先搜索算法(BFS,Broad First Search)详解
2017/09/16 PHP
jquery 学习之二 属性(html()与html(val))
2010/11/25 Javascript
jquery.autocomplete修改实现键盘上下键自动填充示例
2013/11/19 Javascript
javascript实现瀑布流自适应遇到的问题及解决方案
2015/01/28 Javascript
js随机生成网页背景颜色的方法
2015/02/26 Javascript
javascript中Date format(js日期格式化)方法小结
2015/12/17 Javascript
webpack+vue.js实现组件化详解
2016/10/12 Javascript
利用JS制作万年历的方法
2017/08/16 Javascript
使用use注册Vue全局组件和全局指令的方法
2018/03/08 Javascript
Webpack中publicPath路径问题详解
2018/05/03 Javascript
详解vue-cli+es6引入es5写的js(两种方法)
2019/04/19 Javascript
浅谈Vue为什么不能检测数组变动
2019/10/14 Javascript
微信小程序点击按钮动态切换input的disabled禁用/启用状态功能
2020/03/07 Javascript
[45:52]2018DOTA2亚洲邀请赛 4.1小组赛 A组加赛 LGD vs Liquid
2018/04/02 DOTA
Python中的pprint折腾记
2015/01/21 Python
利用Python绘制MySQL数据图实现数据可视化
2015/03/30 Python
详解supervisor使用教程
2017/11/21 Python
flask入门之表单的实现
2018/07/18 Python
python pickle存储、读取大数据量列表、字典数据的方法
2019/07/07 Python
Python 画出来六维图
2019/07/26 Python
解决更改AUTH_USER_MODEL后出现的问题
2020/05/14 Python
HTML5移动开发图片压缩上传功能
2016/11/09 HTML / CSS
浅析移动设备HTML5页面布局
2015/12/01 HTML / CSS
温泉秘密:Onsen Secret
2020/07/06 全球购物
期末总结的个人自我评价
2013/11/02 职场文书
大学军训感言300字
2014/03/09 职场文书
搞笑征婚广告词
2014/03/17 职场文书
幼儿园秋季开学寄语
2014/08/02 职场文书
2014企业领导班子四风对照检查材料思想汇报
2014/09/17 职场文书
体育教师个人总结
2015/02/09 职场文书
python tkinter Entry控件的焦点移动操作
2021/05/22 Python
修改MySQL的默认密码的四种小方法
2021/05/26 MySQL
利用Python将list列表写入文件并读取的方法汇总
2022/03/25 Python