Convert seconds to days, hours, minutes, seconds (MySQL)
select concat( format(floor(s / @day),0), 'days ', time_format(sec_to_time(s % @day),'%Hh:%im:%ss') ) formatted_datefrom (select 1015557 s) t, (select @day = 3600 * 24);
produces:
+--------------------+ | days | +--------------------+ | 11days 18h:05m:57s | +--------------------+
You can use a query like this:
SELECT DATE_FORMAT(date('1970-12-31 23:59:59') + interval 1015557 second,'%j days %Hh:%im:%ss') as result;
sample
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>
You can try this out:
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
Result should be:
11days 18h:05m:57s
Hopefully this helps!.