打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
分享:Yii2 Gridview时间区间筛选插件-DateRangePicker

  实现效果

  

  实现步骤

  首先使用composer申明依赖DateRangePicker

  composer require "kartik-v/yii2-date-range": "*"

  申明依赖后打开你的视图文件,在头部引入DateRangePicker命名空间

  use kartik\daterange\DateRangePicker;

  我们只需要在视图文件里GridView的columns找到你要进行日期筛选的那一列,案例里是repaymentTime这一列,在这一列里添加filter参数,参数的值为小部件DateRangePicker

  这里要注意的是DateRangePicker小部件里的name和value根据你当前model来进行修改,否则model是接收不到你的请求的参数然后时间格式使用format参数进行设置 ,如果format设置了时间格式一定要convertFormat=>true,不然会有问题。separator是间隔符号,例如 separator当前的值为/ 最后显示的时间区间就是 2021-10-17/2021-10-31[ 'attribute'=> 'repaymentTime', 'format'=> ['date', "php:Y-m-d H:i:s"], 'headerOptions'=> ['width'=> '12%'], 'filter'=> DateRangePicker::widget([ 'name'=> 'BorrowRepaymentSearch[repaymentTime]', 'value'=> Yii::$app->request->get('BorrowRepaymentSearch')['repaymentTime'], 'convertFormat'=> true, 'pluginOptions'=> [ 'locale'=> [ 'format'=> 'Y-m-d', 'separator'=> '/', ] ] ])]

  后台处理 只需要通过间隔符/来进行分割repaymentTime这个字段的值,并且将其转换成unix时间戳即可

  if (!empty($this->repaymentTime)) { $query->andFilterCompare('repaymentTime', strtotime(explode('/', $this->repaymentTime)[0]), '>=');//起始时间 $query->andFilterCompare('repaymentTime', (strtotime(explode('/', $this->repaymentTime)[1]) + 86400), '<');//结束时间}

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Format的使用
YII crud 之显示sql执行时间
第26节:平台突破的编辑
Yii框架第一天学习
在Excel VBA中格式化数值的函数:Format
【烟花原创】VBA零基础之第169篇VBA函数之字符串(五)
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服