1

重複の可能性:
MySQLはtimediff出力を日、時、分、秒の形式に変換します

以下のように、2 つの日時の時間差を計算する簡単なクエリがあります。

 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 に答える