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 相关文章推荐
PHP 和 XML: 使用expat函数(一)
Oct 09 PHP
php轻松实现中英文混排字符串截取
May 28 PHP
ThinkPHP3.1新特性之多层MVC的支持
Jun 19 PHP
PHP中使用imagick生成PSD文件缩略图教程
Jan 26 PHP
php自定义hash函数实例
May 05 PHP
php版微信公众平台接口开发之智能回复开发教程
Sep 22 PHP
redis查看连接数及php模拟并发创建redis连接的方法
Dec 15 PHP
解决出现SoapFault (looks like we got no XML document)的问题
Jun 24 PHP
通过修改Laravel Auth使用salt和password进行认证用户详解
Aug 17 PHP
PHP实现超简单的SSL加密解密、验证及签名的方法示例
Aug 28 PHP
ThinkPHP5.0框架验证码功能实现方法【基于第三方扩展包】
Mar 11 PHP
php中数组最简单的使用方法
Dec 27 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 递归效率分析
2009/11/24 PHP
PHP判断文件是否存在、是否可读、目录是否存在的代码
2012/10/03 PHP
PHP base64编码后解码乱码的解决办法
2014/06/19 PHP
YII2 实现多语言配置的方法分享
2017/01/11 PHP
LBS blog sql注射漏洞[All version]-官方已有补丁
2007/08/26 Javascript
JS Range HTML文档/文字内容选中、库及应用介绍
2011/05/12 Javascript
为开发者准备的10款最好的jQuery日历插件
2014/02/04 Javascript
jquery mobile页面跳转后样式丢失js失效的解决方法
2014/09/06 Javascript
jquery实现表格中点击相应行变色功能效果【实例代码】
2016/05/09 Javascript
如何实现星星评价(jquery.raty.js插件)
2016/12/21 Javascript
很棒的一组js图片轮播特效
2017/01/12 Javascript
JavaScript实现事件的中断传播和行为阻止方法示例
2017/01/20 Javascript
Jil,高效的json序列化和反序列化库
2017/02/15 Javascript
Angular2开发——组件规划篇
2017/03/28 Javascript
JavaScript运动框架 链式运动到完美运动(五)
2017/05/18 Javascript
深入理解JavaScript的值传递和引用传递
2018/10/24 Javascript
微信小程序用户授权、位置授权及获取微信绑定手机号
2019/07/18 Javascript
Javascript异步编程async实现过程详解
2020/04/02 Javascript
[15:23]教你分分钟做大人:虚空假面
2014/10/30 DOTA
Python CSV模块使用实例
2015/04/09 Python
Python语言的变量认识及操作方法
2018/02/11 Python
如何用python写一个简单的词法分析器
2018/12/18 Python
Python multiprocess pool模块报错pickling error问题解决方法分析
2019/03/20 Python
python中yield的用法详解——最简单,最清晰的解释
2019/04/04 Python
如何安装2019Pycharm最新版本(详细教程)
2019/09/26 Python
关于Flask项目无法使用公网IP访问的解决方式
2019/11/19 Python
tensorflow指定GPU与动态分配GPU memory设置
2020/02/03 Python
利用Python实现学生信息管理系统的完整实例
2020/12/30 Python
波兰最早的运动鞋精品店之一:Street Supply
2019/08/29 全球购物
比较基础的php面试题及答案-填空题
2014/04/26 面试题
培训讲师邀请函
2014/01/10 职场文书
广告学专业毕业生自荐信
2014/05/28 职场文书
乡镇民主生活会发言材料
2014/10/20 职场文书
太行山上观后感
2015/06/05 职场文书
清洁工工作总结
2015/08/11 职场文书
解决pycharm安装scrapy DLL load failed:找不到指定的程序的问题
2021/06/08 Python