浅析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脚本的10个技巧(6)
Oct 09 PHP
PHP小程序自动提交到自助友情连接
Nov 24 PHP
如何使用PHP批量去除文件UTF8 BOM信息
Aug 05 PHP
thinkphp常见路径用法分析
Dec 02 PHP
dedecms集成财付通支付接口
Dec 28 PHP
PHP+MySQL插入操作实例
Jan 21 PHP
PHP列出MySQL中所有数据库的方法
Mar 12 PHP
新浪微博OAuth认证和储存的主要过程详解
Mar 27 PHP
PHP获取文件扩展名的4种方法
Nov 24 PHP
php生成带logo二维码方法小结
Apr 08 PHP
PHP实现打包下载文件的方法示例
Oct 07 PHP
Thinkphp 3.2框架使用Redis的方法详解
Oct 24 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
2006/10/09 PHP
php列出一个目录下的所有文件的代码
2012/10/09 PHP
php验证手机号码(支持归属地查询及编码为UTF8)
2013/02/01 PHP
php使用number_format函数截取小数的方法分析
2016/05/27 PHP
Laravel中间件实现原理详解
2016/10/09 PHP
clientX,pageX,offsetX,x,layerX,screenX,offsetLeft区别分析
2010/03/12 Javascript
基于jQuery判断两个元素是否有重叠部分的代码
2012/07/25 Javascript
详解Bootstrap各式各样的按钮(推荐)
2016/12/13 Javascript
微信小程序 五星评分(包括半颗星评分)实例代码
2016/12/14 Javascript
详解nodejs微信jssdk后端接口
2017/05/25 NodeJs
vue实现路由懒加载及组件懒加载的方式
2019/06/11 Javascript
vue实现在线翻译功能
2019/09/27 Javascript
vue-admin-template配置快捷导航的代码(标签导航栏)
2020/09/04 Javascript
JavaScript获取时区实现过程解析
2020/09/24 Javascript
Python 编程速成(推荐)
2019/04/15 Python
python中selenium操作下拉滚动条的几种方法汇总
2019/07/14 Python
Python及Pycharm安装方法图文教程
2019/08/05 Python
python实现XML解析的方法解析
2019/11/16 Python
Python实现图片添加文字
2019/11/26 Python
python3 webp转gif格式的实现示例
2019/12/10 Python
导入tensorflow:ImportError: libcublas.so.9.0 报错
2020/01/06 Python
Django实现微信小程序支付的示例代码
2020/09/03 Python
Python中Yield的基本用法
2020/10/18 Python
Anaconda详细安装步骤图文教程
2020/11/12 Python
西班牙创意礼品和小工具网上商店:Curiosite
2016/07/26 全球购物
为您的家、后院、车库等在线购物:Spreetail
2019/06/17 全球购物
意大利在线高尔夫商店:Online Golf
2021/03/09 全球购物
行政主管岗位职责
2013/11/18 职场文书
党校学习思想汇报
2014/01/06 职场文书
中国文明网签名寄语
2014/01/18 职场文书
经贸专业毕业生求职信
2014/03/23 职场文书
机械电子工程专业自荐书
2014/06/10 职场文书
单位在职证明书
2014/09/11 职场文书
教师考核鉴定意见
2015/06/05 职场文书
春晚观后感
2015/06/11 职场文书
2015年暑期社会实践方案
2015/07/14 职场文书