浅析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和ACCESS写聊天室(二)
Oct 09 PHP
dede3.1分页文字采集过滤规则详说(图文教程)
Apr 03 PHP
PHP学习 运算符与运算符优先级
Jun 15 PHP
PHP 简单日历实现代码
Oct 28 PHP
PHP strtok()函数的优点分析
Mar 02 PHP
libmysql.dll与php.ini是否真的要拷贝到c:\windows目录下呢
Mar 15 PHP
php 文件上传后缀名与文件类型对照表(几乎涵盖所有文件)
May 16 PHP
PHP5下$_SERVER变量不再受magic_quotes_gpc保护的弥补方法
Oct 31 PHP
php通过strpos查找字符串出现位置的方法
Mar 17 PHP
php使用curl伪造来源ip和refer的方法示例
May 08 PHP
laravel 获取当前url的别名方法
Oct 11 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
laravel 获取某个查询的查询SQL语句方法
2019/10/12 PHP
前端轻量级MVC框架CanJS详解
2014/09/26 Javascript
jQuery实现滑动页面固定顶部显示(可根据显示位置消失与替换)
2015/10/28 Javascript
详解javascript的变量与标识符
2016/01/04 Javascript
纯JavaScript代码实现文本比较工具
2016/02/17 Javascript
javascript事件处理模型实例说明
2016/05/31 Javascript
微信小程序 实例开发总结
2017/04/26 Javascript
JavaScript输出所选择起始与结束日期的方法
2017/07/12 Javascript
JavaScript 中的 this 简单规则
2017/09/19 Javascript
vue-swiper的使用教程
2018/08/30 Javascript
JavaScript指定断点操作实例教程
2018/09/18 Javascript
Vue解析带html标签的字符串为dom的实例
2019/11/13 Javascript
js刷新页面location.reload()用法详解
2019/12/09 Javascript
vue实现输入一位数字转汉字功能
2019/12/13 Javascript
JavaScript适配器模式原理与用法实例详解
2020/03/09 Javascript
js加减乘除精确运算方法实例代码
2021/01/17 Javascript
删除python pandas.DataFrame 的多重index实例
2018/06/08 Python
对python中 math模块下 atan 和 atan2的区别详解
2020/01/17 Python
python数据预处理方式 :数据降维
2020/02/24 Python
Priority Pass机场贵宾室会籍计划:全球超过1200间机场贵宾室
2018/08/26 全球购物
英国领先的隐形眼镜在线供应商:Lenstore.co.uk
2019/11/24 全球购物
英国在线定做百叶窗网站:Make My Blinds
2020/08/17 全球购物
C#笔试题集合
2013/06/21 面试题
EJB的基本架构
2016/09/22 面试题
影视艺术学院毕业生自荐信
2013/11/13 职场文书
毕业生自荐书
2014/02/02 职场文书
《狐假虎威》教学反思
2014/02/07 职场文书
构建高效课堂实施方案
2014/03/13 职场文书
论文指导教师评语
2014/04/28 职场文书
关爱残疾人演讲稿
2014/05/24 职场文书
小学生安全教育广播稿
2014/10/20 职场文书
医院见习报告范文
2014/11/03 职场文书
护士个人年度总结范文
2015/02/13 职场文书
生活小常识广播稿
2015/08/19 职场文书
oracle连接ODBC sqlserver数据源的详细步骤
2021/07/25 Oracle
使用Postman测试需要授权的接口问题
2022/06/21 Java/Android