## 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(); ~~~