Как мне лучше всего преобразовать 90060 (секунд) в строку «25h 1m»?
В настоящее время я делаю это в SQL:
SELECT
IF(
HOUR(
sec_to_time(
sum(time_to_sec(task_records.time_spent))
)
) > 0,
CONCAT(
HOUR(sec_to_time(sum(time_to_sec(task_records.time_spent)))),
'h ',
MINUTE(sec_to_time(sum(time_to_sec(task_records.time_spent)))),
'm'
),
CONCAT(
MINUTE(sec_to_time(sum(time_to_sec(task_records.time_spent)))),
'm'
)
) as time
FROM myTable;
Но я не уверен, что это самый удобный метод: -)
Я открыт для предложений, как сделать это как в SQL (иначе, чем я уже выполняется) или в PHP.
РЕДАКТИРОВАТЬ:
Примеры желаемых строк: «5 м», «40 м», «1 ч 35 м», «45 ч», «46 ч 12 м».
Вы можете использовать предопределенную функцию sec_to_time ()
sec_to_time (number_of_seconds)
http://dev.mysql.com/doc/refman/5.5/en/date- и времени-functions.html # function_sec до времени