저자: Bailang 출처: http://www.manks.top/article/yii2_gridview_dateformat_search
이 글의 저작권은 작성자에게 있으며, 재인쇄해도 좋지만 이 진술은 반드시 저자의 동의 없이 보관되며 기사에 포함되어야 합니다. 페이지의 눈에 띄는 위치에 원본 텍스트에 대한 링크가 제공되며, 그렇지 않은 경우 당사는 법적 책임을 추궁할 권리를 보유합니다.
날짜 형식, 먼저 렌더링을 살펴보겠습니다
이 사항은 사례별로 논의하겠습니다
1. 데이터베이스 필드가 날짜 또는 날짜/시간인 경우 위 그림의 오른쪽과 같이 생성된_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'], ],
위는 형식을 출력하는 두 가지 방법을 보여 주며 둘 다 허용됩니다. 그러나 검색 메커니즘을 구현하려는 경우 데이터베이스에 날짜/시간이 저장되어 있으면 매우 편리합니다.
코드는 다음과 같습니다
$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 형식을 사용하는 것이 좋습니다. 개인적으로 타임스탬프를 저장하는 것이 매우 번거롭다고 생각합니다. 좋은 제안이 있으면 아래에 메시지를 남겨주세요. 함께 소통할 수 있어요.
위 내용은 GRIDVIEW 콘텐츠를 포함하여 yii2 GridView 날짜 형식 지정 및 날짜 검색 가능하게 만드는 사례를 소개합니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.