ThinkPHP中如何查询最近7天内每个小时的数据?
thinkphp中查找最近7天的24小时时间段数据
如何在thinkphp中查找数据库中最近7天,且分别在每个24小时时间段(0点到1点、1-2点等)内的数据?
解决方案:
由于数据库时间格式为时间戳,因此需要将时间戳转换为特定的时间范围进行查询。具体步骤如下:
立即学习“PHP免费学习笔记(深入)”;
- 计算指定7天前的开始时间戳。
- 将指定7天前的时间戳增加3600秒,形成一个一小时的时间段。
- 循环执行步骤1和2,直到达到所需的时间范围。
代码示例:
// 设置截止时间$endTime = strtotime('2023-02-02 00:00:00');// 计算7天前的开始时间$beginTime = $endTime - (86400 * 7);// 创建时间范围(二维数组)$timeRange = [];// 循环生成24小时时间段do { array_push($timeRange, array( 'startTime' => $beginTime, 'endTime' => $beginTime + 3600, )); // 增加一小时的时间段 $beginTime = $beginTime + 3600;} while($beginTime < $endTime);// 打印时间范围var_dump($timeRange);