如何将秒转换为“DD:HH:MM”格式

时间:2015-05-18 05:34:47

标签: mysql

我尝试使用SEC_TO_TIME(seconds)并且工作并给出结果如下

SEC_TO_TIME(161295.38237498334)

结果:

44:48:15.382375

我需要得到结果(DD:HH:MM)

1 个答案:

答案 0 :(得分:2)

如果您使用的是@Mark Leiber提及的UNIX时间戳,请查看FROM_UNIXTIME()DATE_FORMAT()

如果您不使用时间戳,而是想格式化任意时间值,那么您可以查看TIME_FORMAT()函数:

SELECT TIME_FORMAT(SEC_TO_TIME(161295.38237498334), '%H:%i:%s')

不幸的是TIME_FORMAT只能代表小时和分钟部分。获得您可以使用的天数:

FLOOR(HOUR(SEC_TO_TIME(161295.38237498334)) / 24)

然后格式化剩余的小时和分钟:

TIME_FORMAT(SEC_TO_TIME(161295.38237498334 % (24 * 60 * 60)), '%H:%i'))

然后,您可以使用CONCAT()完全放置它。有关完整的工作示例,请参阅this fiddle

您可以在此处参考MySQL时间和日期函数的完整列表:https://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html

另请参阅@RichardTheKiwi's answerthis相关问题。