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











