## addTimeFilter('字段名' [,'开始日期和结束日期', '开始日期和结束日期的提示'])
| 版本 | 新增功能 |
| --- | --- |
| 1.0.6 | 支持自定义开始日期和结束日期,以及文本框提示信息 |
可以对某个时间字段进行时间段筛选,比如:
~~~
// 使用ZBuilder构建数据表格
return ZBuilder::make('table')
->addTimeFilter('create_time') // 添加时间段筛选
->fetch();
~~~
以上表示添加`create_time`字段的范围筛选,数据表格上方会出现时间段输入框。
![](https://box.kancloud.cn/9ba63dab49e437a8911f245ab999f5a7_676x159.png)
>[danger]注意:目前只支持一个字段,即addTimeFilter方法只能用一次,不可连续调用。
### 自定义开始日期和结束日期
>[info] 从1.0.6版本开始,可以自定义开始日期和结束日期,自定义文本框提示信息,默认是“开始日期”和“结束日期”。
~~~
// 使用ZBuilder构建数据表格
return ZBuilder::make('table')
->addTimeFilter('create_time', '2017-01-01,2017-02-01') // 添加时间段筛选
->fetch();
~~~
![](https://box.kancloud.cn/b2ab6d11137086306496855b9a6ed5a9_678x104.png)
也可以使用数组
~~~
// 使用ZBuilder构建数据表格
return ZBuilder::make('table')
->addTimeFilter('create_time', ['2017-01-01', '2017-02-01']) // 添加时间段筛选
->fetch();
~~~
>[info] 如果只写一个日期,则开始日期和结束日期相同
这样仅显示默认开始日期和结束日期,还需要配合$map查询默认的数据。
~~~
$map = $this->getMap();
if (!isset($map['create_time'])) {
$map['create_time'] = ['between time', ['2017-01-01 00:00:00', '2017-02-01 23:59:59']]
}
$data_list = Db::name('admin_user')->where($map)->paginate();
// 使用ZBuilder构建数据表格
return ZBuilder::make('table')
->addTimeFilter('create_time', '2017-01-01,2017-02-01') // 添加时间段筛选
->setRowList($data_list)
->fetch();
~~~
### 自定义文本框提示信息
>[info] 从1.0.6版本开始,可以自定义文本框提示信息,默认是“开始日期”和“结束日期”。
~~~
// 使用ZBuilder构建数据表格
return ZBuilder::make('table')
->addTimeFilter('create_time', '', '开始时间,结束时间')
->fetch();
~~~
>[info] 如果只写一个提示,则开始日期和结束日期相同的提示相同。
也可以使用数组
~~~
// 使用ZBuilder构建数据表格
return ZBuilder::make('table')
->addTimeFilter('create_time', '', ['开始时间', '结束时间'])
->fetch();
~~~