首頁  >  文章  >  後端開發  >  Yii2中GridView的日期格式化並實作日期可搜尋

Yii2中GridView的日期格式化並實作日期可搜尋

不言
不言原創
2018-06-08 10:22:121939瀏覽

這篇文章主要介紹了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}");
}

以上就是本文的全部內容,希望對大家的學習有所幫助,更多相關內容請關注PHP中文網!

相關推薦:

在Nginx下實作pathinfo與ThinkPHP的URL模式

##yii2.0實作pathinfo的形式存取的配置方法


以上是Yii2中GridView的日期格式化並實作日期可搜尋的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn