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);