当前位置: 首页 > 知识库问答 >
问题:

thinkphp5 怎么根据时间范围查询?

卓正业
2023-06-28

需要开始时间跟结束时间的范围查询数据
假如:前端传入的是2023-06-27,开始跟结束都是2023-06-27,目前这样返回的是空数组。
但是数据库创建的数据是6月27号上午10点的 有11点的。还是下午2点的。
数据库表的createtime存的是时间戳。
现在是要查询27号当天0点到23:59点的才对吧?实现这样要怎么写?

$startTime = "2023-06-27";
$endTime = "2023-06-27";
        
$list = Db::name('cashbook')->where("createtime","between",[strtotime($startTime),strtotime($endTime)])->select();

共有2个答案

怀齐智
2023-06-28

开始时间时间和默认时间收到参数后,开始加上零点,结束加上59

$startTime = "2023-06-27"."00:00:00";
$endTime = "2023-06-27"."23:59:59";
        
$list = Db::name('cashbook')->where("createtime","between",[strtotime($startTime),strtotime($endTime)])->select();
子车煌
2023-06-28

有专门的时间查询方法

$day = "2023-06-27";
        
$list = Db::name('cashbook')->whereBetweenTime("createtime", $day)->select();

更多细节参考文档:https://www.kancloud.cn/manual/thinkphp5_1/354029

 类似资料:
  • 我正在努力为弹性搜索制定正确的API搜索调用,这将要求在过去1小时内获得我想要的ipv4address。 第一次尝试: {“error”:{“root\u cause”:[{“type”:“parsing\u exception”,“reason”:“未知键,用于[范围]中的START\u对象。”,“line”:10,“col”:12}],“type”:“parsing\u exception”,

  • 我有一个dynamodb表,其结构如下 我想在此表上执行两个主要查询。 获取用户的所有条目- 还有其他建议吗?谢谢你。 2014年5月更新这里发布了一些很好的建议。我仍在尝试如何最好地实现这一点,并希望检查以下方法的优缺点。 我担心这可能会造成很多不一致,好像对usertrips或recenttrips的插入失败了等等。

  • 在你否决之前,我想声明,我看了所有类似的问题,但我仍然得到可怕的“主键列不能被限制”错误。 下面是我的表结构: 谢谢,德尼兹

  • 我正在尝试评估Cassandra DB在存储和检索不同通道的时间序列数据方面的性能。 数据以文件格式记录,最大记录速率为8个样本/秒,每个样本都有一个以毫秒为单位的时间戳。给定时间记录的通道数可能会有所不同。 受以下链接的启发,我使用时间序列数据建模入门创建了以下表: 创建表uhhdata ( ch_idx int,date timestamp,dt timestamp,val float,PRI

  • 本文向大家介绍django 按时间范围查询数据库实例代码,包括了django 按时间范围查询数据库实例代码的使用技巧和注意事项,需要的朋友参考一下 从前台中获得时间范围,在django后台处理request中数据,完成format,按照范围调用函数查询数据库。 介绍一个简单的功能,就是从web表单里获取用户指定的时间范围,然后在数据库中查询此时间范围内的数据。 数据库里的model举例是这样: 假

  • 可以对模型的查询和写入操作进行封装,例如: <?php namespace app\index\model; use think\Model; class User extends Model { public function scopeThinkphp($query) { $query->where('name','thinkphp')->field('i