浅析Yii2 GridView 日期格式化并实现日期可搜索教程
2016-04-22 00:00
756 查看
先给大家展示下日期格式化效果图,如果大家满意请继续往下阅读:
这个我们分情况讨论
1、如果你的数据库字段created_at存的时间格式是date或者datetime,那很简单,gridview中直接输出该字段created_at即可,如上图中右侧所示
2、如果数据库存入的时间戳类型,如上图中左侧所示,则需要像下面这样进行输出
以上展示了两种方式进行格式输出,都可以。但是,如果想要实现搜索的机制,如果你的数据库存入的是datetime型,很方便,dataProvider不用做修改,
代码如下
如果你的数据库存入的是时间戳。
第一步,修改对应规则如下图所示
第二步,修改dataProvider可参考如下代码
这里做个小总结,建议使用datetime类型,个人觉得存时间戳甚是麻烦,如果你有好的建议,欢迎给我留言,共同学习进步。在此也非常感谢大家对脚本之家网站的支持!
浅析Yii2中GridView常见操作
浅析Yii2 GridView实现下拉搜索教程
浅析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类型,个人觉得存时间戳甚是麻烦,如果你有好的建议,欢迎给我留言,共同学习进步。在此也非常感谢大家对脚本之家网站的支持!
您可能感兴趣的文章:
yii2.0之GridView自定义按钮和链接用法浅析Yii2中GridView常见操作
浅析Yii2 GridView实现下拉搜索教程
浅析Yii2 gridview实现批量删除教程
相关文章推荐
- 搜狗百度360市值齐跌:搜索引擎们陷入集体焦虑?
- oracle sql日期比较
- 本人即将筹备败家日志,敬请期待!
- IE:使用搜索助手
- DB2 日期和时间的函数应用说明
- Flex中对表格某列的值进行数字格式化并求百分比添加%
- Delphi实现读取系统时间与日期完整实例
- Country使 MS-DOS 子系统能使用国际时间、日期、货币、大小写转换和小数分隔符
- vbs下通过日期查找文件夹的代码
- 用批处理实现的创建带日期的文件夹的代码
- asp格式化日期时间格式的代码
- sql server动态存储过程按日期保存数据示例
- SqlServer中的日期与时间函数
- Oracle 日期的一些简单使用
- C#验证给定字符串形式日期是否合法的方法
- Android编程UI设计之GridView和ImageView的用法
- C++深度优先搜索的实现方法
- ASP 日期的加减运算实现代码
- 基于文本的搜索