mysql - 如何将时间滚过 24 :00

标签 mysql time

我想在 430pm(16:30) 的时间上添加 12 小时,但是当我这样做时,不是 04:30,而是 28:30,我如何让它滚动到 00: 00,然后到 04:30。

select ADDTIME('16:00:00', '12:00:00');

最佳答案

您可以向时间添加随机日期,即 2014-01-01 16:30:00,然后使用 ADDTIME 的组合和 DATE_FORMAT功能。第一步是将 12 小时添加到 2014-01-01 16:30:00 如下

SELECT ADDTIME('2014-01-01 16:30:00', '0 12:0:0');

上述语法的结果是2014-01-02 04:30:00,那么需要取结果中的时间部分

SELECT DATE_FORMAT('2014-01-02 04:30:00', '%H:%i:%s');

因此您将按预期获得 04:30:00

下面是上面的组合语法,产生相同的结果

SELECT DATE_FORMAT(ADDTIME('2014-01-01 16:30:00', '0 12:0:0'), '%H:%i:%s');

SQL Fiddle Demo

关于mysql - 如何将时间滚过 24 :00,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26569791/

相关文章:

r - 如何将天数添加到 R 中的 POSIXct 对象

linux - 多个站点的 DIG 查询时间平均速度

delphi - UTC 支持比较 2 个文件的日期/时间

mysql - 如何将 MySQL 字符串的一部分与 PHP 字符串进行比较?

mysql - XML 平面文件与关系数据库后端

MySql 查找由另一列分组的列的中位数,而不是整个列的中位数

php - MySQL按日期排序直到特定日期,之后反向排序

php - 从 Xcode 将数据发布到外部数据库

java - java中如何设置Date对象指向不同的时区

php - mysql 在两个日期/时间之间进行选择