专栏首页热爱ITthinkphp5日期时间查询比较和whereTime使用方法

thinkphp5日期时间查询比较和whereTime使用方法

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

 where(‘create_time’,’> time’,’2019-1-1′); // 大于某个时间
 where(‘create_time’,'<= time’,’2019-1-1′); // 小于某个时间
 where(‘create_time’,’between time’,[‘2018-1-1′,’2019-1-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();

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • ThinkPHP5.1学习笔记 数据库操作

    V5.1.23+版本开始,支持findOrEmpty方法,当查询不存在的时候返回空数组而不是Null。

    Mirror王宇阳
  • 通过 Laravel 查询构建器实现复杂的查询语句

    在上一篇教程中,我们通过查询构建器实现了简单的增删改查操作,而日常开发中,往往会涉及到一些更复杂的查询语句,比如连接查询、子查询、排序、分页、聚合查询等等,这一...

    学院君
  • thinkphp6 常用方法文档

    https://www.kancloud.cn/logoove/we7/1094868

    PHP开发工程师
  • Yii2和thinkphp5中一个小差异造成bug

    考虑一个场景,一个函数需对相同表进行多次查询,多次查询中有部分查询条件相同。对于这种情况,Yii2和thinkphp5的实现方式要格外小心。在Yii2中,可以直...

    写PHP的老王
  • 【实战】Tp5+小程序(一)--数据库访问与ORM

    ThinkPHP5 从入门到深入学习,结合实战项目深入理解 ThinkPHP5 的特性和使用方法,了解 ThinkPHP5 的数据库访问和 ORM 思想,学习使...

    程序小工
  • 聊聊Yii2和ThinkPHP5的文件缓存

    写PHP的老王
  • My97DatePicker日期控件自定义脚本日期在ThinkPHP5下面报错

    最近一个项目又牵扯到日期限定的操作,在thinkPHP5下集成My97DatePicker过程中报了一个未定义变量:D的错误。一般性载入没问题,只有在自定义脚本...

    世纪访客
  • 【漏洞预警】ThinkPHP远程代码执行漏洞处置手册

    近日,ThinkPHP官方发布了更新通告,在新发布的版本中修复了一个高危的远程代码执行漏洞。由于框架对控制器名没有进行足够的检测,会导致在没有开启强制路由的情况...

    绿盟科技安全情报
  • 面试记录-2

    Elapse

扫码关注云+社区

领取腾讯云代金券