398 Stimmen

Sekunden umrechnen in Stunde:Minute:Sekunde

Ich muss Sekunden in "Stunde:Minute:Sekunde" umrechnen.

Zum Beispiel: "685" umgewandelt in "00:11:25"

Wie kann ich das erreichen?

6voto

Mannu saraswat Punkte 975

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 ...

4voto

FooBar Punkte 5084

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

4voto

AMCoded Punkte 1254

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;}

3voto

TotalPro Punkte 31

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

3voto

Kerry Jones Punkte 21572

Versuchen Sie dies:

date("H:i:s",-57600 + 685);

Entnommen aus
http://bytes.com/topic/php/answers/3917-seconds-converted-hh-mm-ss

CodeJaeger.com

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.

Powered by:

X