浅析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 23 PHP
PHP 加密解密内部算法
Apr 22 PHP
ThinkPHP3.2.2的插件控制器功能简述
Jul 09 PHP
php实现通用的从数据库表读取数据到数组的函数实例
Mar 21 PHP
php简单实现查询数据库返回json数据
Apr 16 PHP
PHP实现将textarea的值根据回车换行拆分至数组
Jun 10 PHP
php文件操作之小型留言本实例
Jun 20 PHP
Yii2验证器(Validator)用法分析
Jul 23 PHP
PHP面向对象程序设计之对象生成方法详解
Dec 02 PHP
浅谈PHP中pack、unpack的详细用法
Mar 12 PHP
PHP封装的验证码工具类定义与用法示例
Aug 22 PHP
PHP面向对象程序设计之接口的继承定义与用法详解
Dec 20 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利用单例模式实现日志处理类库
2014/02/10 PHP
php类声明和php类使用方法示例分享
2014/03/29 PHP
php中的登陆login实例代码
2016/06/20 PHP
浅谈Coreseek、Sphinx-for-chinaese、Sphinx+Scws的区别
2016/12/15 PHP
PHP获取对象属性的三种方法实例分析
2019/01/03 PHP
JavaScript和JQuery实用代码片段(一)
2010/04/07 Javascript
使用Json比用string返回数据更友好,也更面向对象一些
2011/09/13 Javascript
利用Keydown事件阻止用户输入实现代码
2014/03/11 Javascript
javascript的push使用指南
2014/12/05 Javascript
微信小程序 Toast自定义实例详解
2017/01/20 Javascript
基于AngularJS的简单使用详解
2017/09/10 Javascript
AngularJS的$location使用方法详解
2017/10/19 Javascript
Vue框架里使用Swiper的方法示例
2018/09/20 Javascript
Vue 事件处理操作实例详解
2019/03/05 Javascript
Vue中的组件及路由使用实例代码详解
2019/05/22 Javascript
js使用cookie实现记住用户名功能示例
2019/06/13 Javascript
微信小程序实现侧边栏分类
2019/10/21 Javascript
[01:43]倾听DOTA2英雄之声 魅惑魔女国服配音鉴赏
2013/06/06 DOTA
Python基于高斯消元法计算线性方程组示例
2018/01/17 Python
pandas 数据索引与选取的实现方法
2019/06/21 Python
Python接口测试数据库封装实现原理
2020/05/09 Python
Python3爬虫中Selenium的用法详解
2020/07/10 Python
css3模拟jq点击事件的实例代码
2017/07/06 HTML / CSS
CSS3 Pie工具推荐--让IE6-8支持一些优秀的CSS3特性
2014/09/02 HTML / CSS
印尼穆斯林时尚购物网站:Hijabenka
2016/12/10 全球购物
名人珠宝设计师:Melinda Maria Jewelry
2019/03/06 全球购物
财务管理职业生涯规划范文
2013/12/27 职场文书
文明学生事迹材料
2014/01/29 职场文书
房产买卖委托公证书
2014/04/04 职场文书
服务之星事迹材料
2014/05/03 职场文书
授权收款委托书
2014/09/23 职场文书
财务统计员岗位职责
2015/04/14 职场文书
圣诞晚会主持词开场白
2015/05/28 职场文书
甲午风云观后感
2015/06/02 职场文书
Redis Cluster集群动态扩容的实现
2021/07/15 Redis
使用Python开发贪吃蛇游戏 SnakeGame
2022/04/30 Python