這篇文章主要介紹了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}"); }
在Nginx下實作pathinfo與ThinkPHP的URL模式
以上是Yii2中GridView的日期格式化並實作日期可搜尋的詳細內容。更多資訊請關注PHP中文網其他相關文章!