繁体   English   中英

如何在 MySQL 中将时间以秒为单位转换为 HH:MM:SS 格式?

[英]How to convert time in seconds to HH:MM:SS format in MySQL?

我有一个名为test_duration bigint(12)的数据列。 我将时间以秒为单位存储到数据库中。 现在,当我从表中获取记录时,我希望将时间转换为 HH:MM:SS 格式。 我应该如何实现这一目标? 提前致谢。

您可以使用MySQL函数SEC_TO_TIME()

例子:

SELECT SEC_TO_TIME(2378);

输出是:

00:39:38

所以在你的情况下:

SELECT SEC_TO_TIME(test_duration) as `Time` FORM YOUR_TABLE;

您是否将时间存储在 Unixtime(Unix 秒?)中。 如果是这样,请使用:

FROM_UNIXTIME(unix_timestamp, '%h:%i:%s')

有一个 MYSQL 函数可以将秒转换为“HH:MM:SS”格式:

SEC_TO_TIME(seconds)

例子:

SELECT SEC_TO_TIME(3661);

将输出:

01:01:01

问候

您可以从函数 SEC_TO_TIME 中获得的最大值是 838:59:59

如果您有更大的数字,您可以使用以下代码:

SELECT DAY, Floor((SUM(DAY) / (60*60))) AS Hours, 
Floor(MOD(SUM(DAY), (60*60)) / 60) AS Minutes, 
Floor(MOD(SUM(DAY), (60))) AS Secs,

CONCAT(
    Floor((SUM(DAY) / (60*60))), ":", 
    Floor(MOD(SUM(DAY), (60*60)) / 60), ":", 
    Floor(MOD(SUM(DAY), (60)))
) AS Time

FROM (SELECT 5328089 as DAY) a

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM