Ich muss Sekunden in "Stunde:Minute:Sekunde" umrechnen.
Zum Beispiel: "685" umgewandelt in "00:11:25"
Wie kann ich das erreichen?
Ich muss Sekunden in "Stunde:Minute:Sekunde" umrechnen.
Zum Beispiel: "685" umgewandelt in "00:11:25"
Wie kann ich das erreichen?
Ich habe dies bereits erklärt aquí Ich füge diese Antwort auch hier ein
Für bis 23:59:59
Stunden können Sie die PHP-Standardfunktion
echo gmdate("H:i:s", 86399);
die nur das Ergebnis bis 23:59:59
Wenn Ihre Sekunden mehr als 86399 sind, dann mit Hilfe von @VolkerK beantworten
$time = round($seconds);
echo sprintf('%02d:%02d:%02d', ($time/3600),($time/60%60), $time%60);
sind die besten Optionen für die Verwendung ...
Siehe:
/**
* Convert number of seconds into hours, minutes and seconds
* and return an array containing those values
*
* @param integer $inputSeconds Number of seconds to parse
* @return array
*/
function secondsToTime($inputSeconds) {
$secondsInAMinute = 60;
$secondsInAnHour = 60 * $secondsInAMinute;
$secondsInADay = 24 * $secondsInAnHour;
// extract days
$days = floor($inputSeconds / $secondsInADay);
// extract hours
$hourSeconds = $inputSeconds % $secondsInADay;
$hours = floor($hourSeconds / $secondsInAnHour);
// extract minutes
$minuteSeconds = $hourSeconds % $secondsInAnHour;
$minutes = floor($minuteSeconds / $secondsInAMinute);
// extract the remaining seconds
$remainingSeconds = $minuteSeconds % $secondsInAMinute;
$seconds = ceil($remainingSeconds);
// return the final array
$obj = array(
'd' => (int) $days,
'h' => (int) $hours,
'm' => (int) $minutes,
's' => (int) $seconds,
);
return $obj;
}
Von: Sekunden in Tage, Stunden, Minuten und Sekunden umrechnen
Diese Funktion könnte nützlich sein, man könnte sie erweitern:
function formatSeconds($seconds) {
if(!is_integer($seconds)) {
return FALSE;
}
$fmt = "";
$days = floor($seconds / 86400);
if($days) {
$fmt .= $days."D ";
$seconds %= 86400;
}
$hours = floor($seconds / 3600);
if($hours) {
$fmt .= str_pad($hours, 2, '0', STR_PAD_LEFT).":";
$seconds %= 3600;
}
$mins = floor($seconds / 60 );
if($mins) {
$fmt .= str_pad($mins, 2, '0', STR_PAD_LEFT).":";
$seconds %= 60;
}
$fmt .= str_pad($seconds, 2, '0', STR_PAD_LEFT);
return $fmt;}
Die Funktion gmtdate() funktionierte bei mir nicht, da ich die an einem Projekt geleisteten Stunden verfolgte, und wenn es mehr als 24 Stunden sind, erhält man den Betrag, der nach Abzug der 24 Stunden übrig bleibt. Mit anderen Worten: aus 37 Stunden werden 13 Stunden. (alles wie oben von Glavic beschrieben - danke für die Beispiele!) Dieses Beispiel hat gut funktioniert:
Convert seconds to format by 'foot' no limit :
$seconds = 8525;
$H = floor($seconds / 3600);
$i = ($seconds / 60) % 60;
$s = $seconds % 60;
echo sprintf("%02d:%02d:%02d", $H, $i, $s);
# 02:22:05
Versuchen Sie dies:
date("H:i:s",-57600 + 685);
Entnommen aus
http://bytes.com/topic/php/answers/3917-seconds-converted-hh-mm-ss
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.