浅析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
PHP的单引号和双引号 字符串效率
May 27 PHP
PHP setTime 设置当前时间的代码
Aug 27 PHP
解析PHP中常见的mongodb查询操作
Jun 20 PHP
php数组合并的二种方法
Mar 21 PHP
php中Socket创建与监听实现方法
Jan 05 PHP
php字符串过滤与替换小结
Jan 26 PHP
php给每个段落添加空格的方法
Mar 20 PHP
php无限级分类实现方法分析
Oct 19 PHP
Yii2选项卡的简单使用
May 26 PHP
PHP如何使用JWT做Api接口身份认证的实现
Feb 03 PHP
php模拟实现斗地主发牌
Apr 22 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编程最快明白》第八讲:php启发和小结
2010/11/01 PHP
php跨站攻击实例分析
2014/10/28 PHP
PHP结合jQuery插件ajaxFileUpload实现异步上传文件实例
2020/08/17 PHP
PHP中的多种加密技术及代码示例解析
2016/10/20 PHP
Yii2中hasOne、hasMany及多对多关联查询的用法详解
2017/02/15 PHP
jQuery动画效果animate和scrollTop结合使用实例
2014/04/02 Javascript
textarea不能通过maxlength属性来限制字数的解决方法
2014/09/01 Javascript
javascript控制图片播放的实现代码
2020/07/29 Javascript
jquery实现加载进度条提示效果
2015/11/23 Javascript
js 截取或者替换字符串中的数字实现方法
2016/06/13 Javascript
简单实现jQuery进度条轮播实例代码
2016/06/20 Javascript
javascript回调函数的概念理解与用法分析
2017/05/27 Javascript
ExtJs异步无法向外传值和赋值的完美解决办法
2017/06/14 Javascript
BootStrap Select清除选中的状态恢复默认状态
2017/06/20 Javascript
JS左右无缝轮播功能完整实例
2019/05/16 Javascript
react用Redux中央仓库实现一个todolist
2019/09/29 Javascript
详解Typescript 内置的模块导入兼容方式
2020/05/31 Javascript
[02:19]2014DOTA2国际邀请赛 专访820少年们一起去追梦吧
2014/07/14 DOTA
跟老齐学Python之折腾一下目录
2014/10/24 Python
python脚本设置系统时间的两种方法
2016/02/21 Python
使用Python判断质数(素数)的简单方法讲解
2016/05/05 Python
python使用opencv进行人脸识别
2017/04/07 Python
在cmder下安装ipython以及环境的搭建
2018/10/19 Python
Python之循环结构
2019/01/15 Python
详解pandas的外部数据导入与常用方法
2019/05/01 Python
Python如何把字典写入到CSV文件的方法示例
2020/08/23 Python
Jmeter调用Python脚本实现参数互相传递的实现
2021/01/22 Python
加拿大廉价机票预订网站:CheapOair.ca
2018/03/04 全球购物
Farfetch中文官网:奢侈品牌时尚购物平台
2020/03/15 全球购物
中兴通讯全球官方网站:ZTE
2020/12/26 全球购物
涉外文秘个人求职的自我评价
2013/10/07 职场文书
校园十佳歌手策划书
2014/01/22 职场文书
母亲节感恩寄语
2014/02/21 职场文书
厂办主管岗位职责范本
2014/02/28 职场文书
作弊检讨书
2015/01/27 职场文书
2015少先队大队辅导员工作总结
2015/07/24 职场文书