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


Posted in PHP onMay 29, 2019

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

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

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

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

这时候

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

时间比较

使用where方法

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

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

使用whereTime方法

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

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

时间表达式

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

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

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

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

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

希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。

PHP 相关文章推荐
人大复印资料处理程序_查询篇
Oct 09 PHP
php 在线打包_支持子目录
Jun 28 PHP
使用phpQuery采集网页的方法
Nov 13 PHP
PHP动态生成javascript文件的2个例子
Apr 11 PHP
PDO防注入原理分析以及使用PDO的注意事项总结
Oct 23 PHP
php array_merge函数使用需要注意的一个问题
Mar 30 PHP
微信access_token的获取开发示例
Apr 16 PHP
php获取访问者IP地址汇总
Apr 24 PHP
启用Csrf后POST数据时出现的400错误
Jul 05 PHP
PHP中时间加减函数strtotime用法分析
Apr 26 PHP
PHP框架Laravel中实现supervisor执行异步进程的方法
Jun 07 PHP
ThinkPHP 3使用OSS的方法
Jul 19 PHP
php fread函数使用方法总结
May 28 #PHP
PHP常用正则表达式精选(推荐)
May 28 #PHP
tp5(thinkPHP5框架)captcha验证码配置及验证操作示例
May 28 #PHP
tp5(thinkPHP5框架)使用DB实现批量删除功能示例
May 28 #PHP
详解PHP PDO简单教程
May 28 #PHP
laravel实现简单用户权限的示例代码
May 28 #PHP
Yii2框架控制器、路由、Url生成操作示例
May 27 #PHP
You might like
关于php mvc开发模式的感想
2011/06/28 PHP
php中sprintf与printf函数用法区别解析
2014/02/17 PHP
PHP实现生成透明背景的PNG缩略图函数分享
2014/07/08 PHP
PHP数组与对象之间使用递归实现转换的方法
2015/06/24 PHP
JavaScript中使用构造函数实现继承的代码
2010/08/12 Javascript
收集的一些Array及String原型对象的扩展实现代码
2010/12/05 Javascript
JS定时刷新页面及跳转页面的方法
2013/07/04 Javascript
JQuery获取样式中的background-color颜色值的问题
2013/08/20 Javascript
nodejs中的fiber(纤程)库详解
2015/03/24 NodeJs
jQuery简单tab切换效果实现方法
2015/04/08 Javascript
javascript:void(0)是什么意思及href=#与href=javascriptvoid(0)的区别
2015/11/13 Javascript
微信小程序购物商城系统开发系列-目录结构介绍
2016/11/21 Javascript
javascript cookie的基本操作(添加和删除)
2017/07/24 Javascript
JS+HTML+CSS实现轮播效果
2017/11/28 Javascript
微信小程序使用audio组件播放音乐功能示例【附源码下载】
2017/12/08 Javascript
JS交互点击WKWebView中的图片实现预览效果
2018/01/05 Javascript
javascript中的隐式调用
2018/02/10 Javascript
详解babel升级到7.X采坑总结
2019/05/12 Javascript
jQuery创建折叠式菜单
2019/06/15 jQuery
javascript中innerHTML 获取或替换html内容的实现代码
2020/03/17 Javascript
js实现简单选项卡制作
2020/08/05 Javascript
JavaScript的一些小技巧分享
2021/01/06 Javascript
[46:23]完美世界DOTA2联赛PWL S2 FTD vs Magma 第一场 11.20
2020/11/23 DOTA
[39:18]完美世界DOTA2联赛PWL S3 Forest vs LBZS 第二场 12.17
2020/12/19 DOTA
[47:03]完美世界DOTA2联赛PWL S3 access vs LBZS 第一场 12.20
2020/12/23 DOTA
利用python批量检查网站的可用性
2016/09/09 Python
Python3使用pandas模块读写excel操作示例
2018/07/03 Python
python爬虫豆瓣网的模拟登录实现
2019/08/21 Python
python用requests实现http请求代码实例
2019/10/31 Python
凌阳科技股份有限公司C++程序员面试题笔试题
2014/11/20 面试题
《春雨》教学反思
2014/04/24 职场文书
教师先进工作者事迹材料
2014/05/01 职场文书
2014年财政所工作总结
2014/11/22 职场文书
师德师风个人总结
2015/02/06 职场文书
MySQL派生表联表查询实战过程
2022/03/20 MySQL
使用Nginx+Tomcat实现负载均衡的全过程
2022/05/30 Servers