[英]Convert seconds to days, hours, minutes, seconds (MySQL)
例子:
秒="1015557";
結果應該是:
11天 18h:05m:57s
如何在 MySQL 中做到這一點?
select concat(
format(floor(s / @day),0),
'days ',
time_format(sec_to_time(s % @day),'%Hh:%im:%ss')
) formatted_date
from (select 1015557 s) t, (select @day = 3600 * 24);
產生:
+--------------------+
| days |
+--------------------+
| 11days 18h:05m:57s |
+--------------------+
您可以使用這樣的查詢:
SELECT
DATE_FORMAT(date('1970-12-31 23:59:59')
+ interval 1015557 second,'%j days %Hh:%im:%ss') as result;
樣本
mysql> SELECT
-> DATE_FORMAT(date('1970-12-31 23:59:59')
-> + interval 1015557 second,'%j days %Hh:%im:%ss') as result;
+----------------------+
| result |
+----------------------+
| 011 days 18h:05m:57s |
+----------------------+
1 row in set (0,00 sec)
mysql>
你可以試試這個:
SET @seconds = 1015557;
SELECT CONCAT(
FLOOR(TIME_FORMAT(SEC_TO_TIME(@seconds), '%H') / 24), 'days ',
MOD(TIME_FORMAT(SEC_TO_TIME(@seconds), '%H'), 24), 'h:',
TIME_FORMAT(SEC_TO_TIME(@seconds), '%im:%ss')
)
AS Result
結果應該是:
11days 18h:05m:57s
希望這會有所幫助!
SELECT *,
CONCAT( FLOOR(sec/3600),"hour ", FLOOR(MOD(sec,3600)/60),"min",MOD(sec,60),"sec")
FROM table_1
如果有人對幾分之一秒感興趣,下面結合了 Kent Aguilar 和 Steven Yang 的回答。
SELECT CONCAT(
FLOOR(TIME_FORMAT(SEC_TO_TIME(@seconds), '%H') / 24), 'days ',
MOD(TIME_FORMAT(SEC_TO_TIME(@seconds), '%H'), 24), 'h:',
FLOOR(MOD(@seconds,3600)/60), 'm:',
MOD(@seconds,60), 's'
) AS Result
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.