Konvertiert Sekunden in eine vom Menschen lesbare Zeitdauer
Wie würde ich am besten konvertieren 90060 (Sekunden), um eine Zeichenfolge von "25h 1m"?
Zurzeit mache ich dies in 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;
Aber ich bin nicht sicher, es ist die einfachste Methode 🙂
Ich bin offen für Vorschläge, dies zu tun, sowohl in SQL (anders als ich bin schon dabei) oder in der PHP.
EDIT:
Beispiele von gewünschten Zeichenfolgen: "5m", "40m", "1h 35m", "45h" "46h 12m".
InformationsquelleAutor der Frage Henno | 2011-11-19
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dokumentation ist dein Freund:
Laut Kommentar:
Verwendung:
InformationsquelleAutor der Antwort Peter
können Sie vordefinierte Funktion sec_to_time()
sec_to_time(anzahl_sekunden)
http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_sec-to-time
InformationsquelleAutor der Antwort rrawat
versuchen Sie dies: (geben Sie Ihre Reine Sekunden Zeit)
InformationsquelleAutor der Antwort Smit Shilpatul