1

可能重复:
MySQL 将 timediff 输出转换为日、时、分、秒格式

我有一个简单的查询,它计算两个日期时间之间的时间差,如下所示:

 SELECT TIMEDIFF( '2012-08-19 08:25:13', '2012-07-19 18:05:52' );

输出:734:19:21

输出以小时:分钟:秒为单位。但是我希望输出格式为:

天:小时:分钟:秒

如何格式化输出?

4

2 回答 2

5
SELECT CONCAT(
   FLOOR(HOUR(TIMEDIFF('2012-08-05 09:56', '2012-08-02 11:20')) / 24), ' days, ',
   MOD(HOUR(TIMEDIFF('2012-08-05 09:56', '2012-08-02 11:20')), 24), ' hours, ',
   MINUTE(TIMEDIFF('2012-08-05 09:56', '2012-08-02 11:20')), ' minutes, ',
   SECOND(TIMEDIFF('2012-08-05 09:56', '2012-08-02 11:20')), ' seconds')
AS TimeDiff

看到这个小提琴

于 2012-08-19T08:51:52.787 回答
0
SELECT date_format(from_unixtime(unix_timestamp('2012-08-19 08:25:13' ) -
unix_timestamp('2012-07-19 18:05:52' )), '%d.%m.%Y %H:%i:%s');
于 2012-08-19T07:59:59.370 回答