php - php/mysql 中的时间四舍五入到最接近的 15 分钟

标签 php mysql

我有一个 MySQL 表,其中有一个 time 字段,用于存储商业广告的发布时间。我需要按 15 分钟的时间段对它们进行分组并显示。

示例:

            |comm1|comm2 |comm3|
--------------------------------
|8:00- 8:15 |   2 | 5    |  0  |
--------------------------------
|8:15- 8:30 |   0 | 0    |  1  |
--------------------------------
|8:30- 8:45 |   4 | 1    |  3  |
--------------------------------
|8:45- 9:00 |   4 | 5    |  2  |
--------------------------------
|...        |   . | .    |  .  |
--------------------------------

以此类推直至24:00!所以,我需要做两件事:

1) 全天以 15 分钟为单位划分,以及

2) 围绕广告播放的时间,精确到这些时间段中最接近的时间。

有什么想法吗?我只能使用 PHP/MySQL。

最佳答案

试试这个 -

SELECT
  SEC_TO_TIME((TIME_TO_SEC(time_field) DIV 900) * 900) AS round_time
FROM table

其中 900 是 60 秒 * 15 分钟。

关于php - php/mysql 中的时间四舍五入到最接近的 15 分钟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12835768/

相关文章:

php - 在 PHP 中,如何将过程代码包装在类中?

javascript - 验证数据并将其保存到数据库以供实时应用程序的正确方法

mysql - LOAD DATA INFILE 不起作用

php - Laravel 5.4 SQL 查询嵌套 Where/OrWhere

javascript - 如何显示目录中每个 .jpg 图像的自定义页面

mysql - 需要一些建议来维护 MySQL 数据集中的特定顺序

php - 在 mysql 中使用 Unix 时间戳作为条件

php - mysqli 每次只工作 else 条件但不工作 if 条件

mysql - 在旧的经典 ASP 站点中清理 mysql 的好方法是什么?

php - 如何允许 SELECT 查询并阻止其他查询?