当前位置:首页 > CMS教程 > Thinkphp > 列表

tp5(thinkPHP5框架)时间查询操作实例分析

发布:smiling 来源: PHP粉丝网  添加日期:2021-11-24 10:16:07 浏览: 评论:0 

这篇文章主要介绍了tp5(thinkPHP5框架)时间查询操作,结合实例形式分析了thinkPHP5框架数据库中日期时间查询相关操作技巧,需要的朋友可以参考下

本文实例讲述了tp5(thinkPHP5框架)时间查询操作,分享给大家供大家参考,具体如下:

在项目中 可能会遇到 跨月份进行查询

比如在 当输入201809 会获取当月的开始时间$start_month 和 结束时间 $end_month

会查询2018年9月份的数据 但是当其中的一个数据是在201809到201810 ,数据库的字段是 start_time end_time

这时候

  1. Db::name("表名")->where('start_time','<= time',$end_month
  2. ->where('end_time','> time',$start_month
  3. ->select(); 

时间比较

使用where方法

where方法支持时间比较,例如:

  1. // 大于某个时间 
  2. where('create_time','> time','2016-1-1'); 
  3. // 小于某个时间 
  4. where('create_time','<= time','2016-1-1'); 
  5. // 时间区间查询 
  6. where('create_time','between time',['2015-1-1','2016-1-1']); 

使用whereTime方法

whereTime方法提供了日期和时间字段的快捷查询,示例如下:

  1. // 大于某个时间 
  2. Db::table('think_user')->whereTime('birthday''>=''1970-10-1')->select(); 
  3. // 小于某个时间 
  4. Db::table('think_user')->whereTime('birthday''<''2000-10-1')->select(); 
  5. // 时间区间查询 
  6. Db::table('think_user')->whereTime('birthday''between', ['1970-10-1''2000-10-1'])->select(); 
  7. // 不在某个时间区间 
  8. Db::table('think_user')->whereTime('birthday''not between', ['1970-10-1''2000-10-1'])->select(); 

时间表达式

还提供了更方便的时间表达式查询,例如:

  1. // 获取今天的博客 
  2. Db::table('think_blog') ->whereTime('create_time''today')->select(); 
  3. // 获取昨天的博客 
  4. Db::table('think_blog')->whereTime('create_time''yesterday')->select(); 
  5. // 获取本周的博客 
  6. Db::table('think_blog')->whereTime('create_time''week')->select(); 
  7. // 获取上周的博客 
  8. Db::table('think_blog')->whereTime('create_time''last week')->select(); 
  9. // 获取本月的博客 
  10. Db::table('think_blog')->whereTime('create_time''month')->select(); 
  11. // 获取上月的博客 
  12. Db::table('think_blog')->whereTime('create_time''last month')->select(); 
  13. // 获取今年的博客 
  14. Db::table('think_blog')->whereTime('create_time''year')->select(); 
  15. // 获取去年的博客 
  16. Db::table('think_blog')->whereTime('create_time''last year')->select(); 

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

  1. // 获取今天的博客 
  2. Db::table('think_blog')->whereTime('create_time''d')->select(); 
  3. // 获取本周的博客 
  4. Db::table('think_blog')->whereTime('create_time''w')->select(); 
  5. // 获取本月的博客 
  6. Db::table('think_blog')->whereTime('create_time''m')->select(); 
  7. // 获取今年的博客 
  8. Db::table('think_blog')->whereTime('create_time''y') ->select(); 
  9. V5.0.5+版本开始,还可以使用下面的方式进行时间查询 
  10. // 查询两个小时内的博客 
  11. Db::table('think_blog')->whereTime('create_time','-2 hours')->select(); 

参考地址:https://www.kancloud.cn/he_he/thinkphp5

Tags: thinkPHP5 tp5时间查询

分享到: