首頁 > 後端開發 > php教程 > yii2 GridView 日期格式化並實作日期可搜尋 案例 android gridview用法 .net gridview c gridview

yii2 GridView 日期格式化並實作日期可搜尋 案例 android gridview用法 .net gridview c gridview

WBOY
發布: 2016-07-29 08:52:26
原創
961 人瀏覽過

作者:白狼出處:http://www.manks.top/article/yii2_gridview_dateformat_search

本文版權歸作者,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則保留追究法律責任的權利。

日期格式化,我們先來看看效果圖

android gridview,gridview属性,c# gridview,gridview android,asp.net gridview,gridview 分页,android gridview用法,.net gridview,c 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 GridView 日期格式化並實現日期可搜尋 案例,包括了GRIDVIEW方面的內容,希望對PHP教程有興趣的朋友有所幫助。

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板