ThinkPHP中日期时间区间查询以及whereTime用法

一、使用where方法进行时间的比较查询

where('create_time', '> time', '2021-8-8'); // 大于某个时间
where('create_time', '<= time', '2020-8-8'); // 小于某个时间
where('create_time', 'between time', ['2020-1-1', '2020-10-1']); // 时间区间查询

二、使用whereTime方法

whereTime('birthday', '>=', '1970-10-1')->select(); // 大于某个时间
whereTime('birthday', '<', '2000-10-1')->select(); // 小于某个时间
whereTime('birthday', 'between', ['1970-10-1', '2000-10-1'])->select(); // 时间区间查询
whereTime('birthday', 'not between', ['1970-10-1', '2000-10-1'])->select(); // 不在某个时间区间

三、时间表达式

// 获取今天的文章
Db::table('think_news')->whereTime('create_time', 'today')->select();
// 获取昨天的文章
Db::table('think_news')->whereTime('create_time', 'yesterday')->select();
// 获取本周的文章
Db::table('think_news')->whereTime('create_time', 'week')->select();
// 获取上周的文章
Db::table('think_news')->whereTime('create_time', 'last week')->select();
// 获取本月的文章
Db::table('think_news')->whereTime('create_time', 'month')->select();
// 获取上月的文章
Db::table('think_news')->whereTime('create_time', 'last month')->select();
// 获取今年的文章
Db::table('think_news')->whereTime('create_time', 'year')->select();
// 获取去年的文章
Db::table('think_news')->whereTime('create_time', 'last year')->select();

四、如果查询当天、本周、本月和今年的时间,还可以简化为:

// 获取今天的文章
Db::table('think_news')->whereTime('create_time', 'd')->select();
// 获取本周的文章
Db::table('think_news')->whereTime('create_time', 'w')->select();
// 获取本月的文章
Db::table('think_news')->whereTime('create_time', 'm')->select();
// 获取今年的文章
Db::table('think_news')->whereTime('create_time', 'y')->select();

五、时间范围查询

// 查询两个小时内的文章
Db::table('think_news')->whereTime('create_time', '-2 hours')->select();
// 查询两天内的文章
Db::table('think_news')->whereTime('create_time', '-2 days')->select();
© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 共1条
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片
    • 头像流量卡知识网0