1、如果你的数据库字段created_at存的时间格式是date或者datetime,那很简单,gridview中直接输出该字段created_at即可
2、如果数据库存入的时间戳类型,如上图中左侧所示,则需要像下面这样进行输出
|
1
2
3
4
5
6
7
8
9
10
|
['attribute' => 'created_at',return date('Y-m-d H:i:s', $model->created_at);},],['attribute' => 'created_at','format' => ['date', 'Y-m-d H:i:s'],], |
以上展示了两种方式进行格式输出,都可以。但是,如果想要实现搜索的机制,如果你的数据库存入的是datetime型,很方便,dataProvider不用做修改,
代码如下
|
1
2
3
4
5
|
$query->andFilterWhere([// ......'created_at' => $this->created_at,// ......]); |
如果你的数据库存入的是时间戳。
第一步,修改对应规则如下图所示
第二步,修改dataProvider可参考如下代码
|
1
2
3
4
5
6
7
|
//我们搜索输入框中输入的格式一般是 2016-01-01 而非时间戳//输出2016-01-01无非是想搜索这一天的数据,因此代码如下if ($this->created_at) {$createdAtEnd = $createdAt + 24*3600;$query->andWhere("created_at >= {$createdAt} AND created_at <= {$createdAtEnd}");} |
这里做个小总结,建议使用datetime类型,个人觉得存时间戳甚是麻烦,如果你有好的建议,欢迎给我留言,共同学习进步。
© 版权声明
本文刊载的所有内容,包括文字、图片、音频、视频、软件、程序、以及网页版式设计等部门来源于互联网,版权均归原作者所有!本网站提供的内容服务于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯本网站及相关权利人的合法权利。
联系信息:邮箱aoxolcom@163.com或见网站底部。
联系信息:邮箱aoxolcom@163.com或见网站底部。
THE END
















请登录后发表评论
注册
社交帐号登录