一、传统方式
1、可以使用>、<、>=,<=来筛选匹配时间的数据
Db::table('表名')->where('create_time','>','2020.3.22')->select();
2、可以使用between关键字来设置时间的区间
Db::name('表名')->where('create_time', 'between', ['2018-1-1', '2019-12-31'])
->select();
Db::name('表名')->where('create_time', 'not between', ['2018-1-1', '2019-12-31'])
->select();
二、快捷方式
1、时间查询的快捷方法为whereTime(),可以直接使用>、<、>=,<=;
Db::name('表名')->whereTime('create_time', '>', '2018-1-1')
->select();
2、快捷方式也可以使用 between 和 not between
Db::name('表名')->whereBetween('create_time', ['2018-1-1', '2019-12-31'])
->select();
3、还有一种快捷方式为whereBetweenTime()和whereNotBetweenTime()
Db::name('表名')->whereBetweenTime('create_time', '2018-1-1', '2019-12-31')
->select();
4、默认是大于号
Db::name('表名')->whereTime('create_time', '2018-1-1')
->select();
三、固定查询
1、使用whereYear查询今年的数据、去年的数据和某一年的数据
Db::name('表名')->whereYear('create_time')->select();
Db::name('表名')->whereYear('create_time', 'last year')->select();
Db::name('表名')->whereYear('create_time', '2016')->select();
2、使用 whereMonth 查询当月的数据、上月的数据和某一个月的数据
Db::name('表名')->whereMonth('create_time')->select();
Db::name('表名')->whereMonth('create_time', 'last month')->select();
Db::name('表名')->whereMonth('create_time', '2016-6')->select()
3、使用 whereDay 查询今天的数据、昨天的数据和某一个天的数据
Db::name('表名')->whereDay('create_time')->select();
Db::name('表名')->whereDay('create_time', 'last day')->select();
Db::name('表名')->whereDay('create_time', '2016-6-27')->select();
四、其它查询
1、查询指定时间的数据,比如两小时内的
Db::name('表名')->whereTime('create_time', '-2 hours')->select();
2、查询两个时间字段时间有效期的数据,比如会员开始到结束的期间
Db::name('表名')->whereBetweenTimeField('start_time', 'end_time')->select();
本文介绍了ThinkPHP6.0中进行时间查询的多种方法,包括传统方式如使用比较运算符和between关键字,快捷方式如whereTime(),以及固定查询如whereYear()和whereMonth()。此外,还探讨了其他查询方式,如查询特定时间段和时间有效性范围的数据。
1514

被折叠的 条评论
为什么被折叠?



