PHP前端开发

ThinkPHP中如何查询最近7天内每个小时的数据?

百变鹏仔 3天前 #PHP
文章标签 小时

thinkphp中查找最近7天的24小时时间段数据

如何在thinkphp中查找数据库中最近7天,且分别在每个24小时时间段(0点到1点、1-2点等)内的数据?

解决方案:

由于数据库时间格式为时间戳,因此需要将时间戳转换为特定的时间范围进行查询。具体步骤如下:

立即学习“PHP免费学习笔记(深入)”;

  1. 计算指定7天前的开始时间戳。
  2. 将指定7天前的时间戳增加3600秒,形成一个一小时的时间段。
  3. 循环执行步骤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);