簡體   English   中英

將時間戳轉換為時間,並保留秒,分鍾和小時

[英]Convert timestamp to time and keep seconds, minutes and hour

我有一個將時間戳轉換為真實的小時,分​​鍾和秒的函數,我將保留以下格式:hh:mm:ss即使只有幾分鍾和幾秒鍾,我也應該得到00:10:32而不是10: 32:

// format can be either : or blank
function toTime($timestamp, $format)
{
    $hours = floor($timestamp / 3600);
    $minutes = floor($timestamp % 3600 / 60);
    $seconds = $timestamp % 60;

            if($format == ':') {
                $hourDuration = sprintf('%02d:', $hours);
                //echo 'hour: '.$hourDuration.'<br />';
                $minDuration =  sprintf('%02d:', $minutes);
                //echo 'min: '.$minDuration.'<br />';
                $secDuration =  sprintf('%02d', $seconds);
                //echo 'sec: '.$secDuration.'<br />';
                $HourMinSec = $hourDuration.$minDuration.$secDuration;
            } else {
                $hourDuration = sprintf('%02d h', $hours);
                //echo 'hour: '.$hourDuration.'<br />';
                $minDuration =  sprintf('%02d m', $minutes);
                //echo 'min: '.$minDuration.'<br />';
                $secDuration =  sprintf('%02d s', $seconds);
                //echo 'sec: '.$secDuration.'<br />';
                $HourMinSec = '';
            }

            if($hourDuration > 0){
                $hourDuration = $hourDuration;
            } else {
                $hourDuration = '';
            }

            if($minDuration > 0){
                $minDuration = $minDuration;
            } else {
                $minDuration = '';
            }

            if($secDuration > 0){
                $secDuration = $secDuration;
            } else {
                $secDuration = '';
            }

    //$HourMinSec = $hourDuration.'&nbsp;'.$minDuration.'&nbsp;'.$secDuration;
    $HourMinSec = $hourDuration.$minDuration.$secDuration;

    return $HourMinSec;
}

此功能用於獲取視頻時間戳,例如:1508.7397460938,我想弄清楚該視頻中有幾小時,幾分和幾秒

謝謝你的協助

我會那樣做

function toTime($timestamp, $format)
    {
        $hours = floor($timestamp / 3600);
        $minutes = floor($timestamp % 3600 / 60);
        $seconds = $timestamp % 60;

                if($format == ':') {
                    $hourDuration = sprintf('%02d:', $hours);
                    //echo 'hour: '.$hourDuration.'<br />';
                    $minDuration =  sprintf('%02d:', $minutes);
                    //echo 'min: '.$minDuration.'<br />';
                    $secDuration =  sprintf('%02d', $seconds);
                    //echo 'sec: '.$secDuration.'<br />';
                    $HourMinSec = $hourDuration.$minDuration.$secDuration;
                } else {
                    $hourDuration = sprintf('%02d h', $hours);
                    //echo 'hour: '.$hourDuration.'<br />';
                    $minDuration =  sprintf('%02d m', $minutes);
                    //echo 'min: '.$minDuration.'<br />';
                    $secDuration =  sprintf('%02d s', $seconds);
                    //echo 'sec: '.$secDuration.'<br />';
                    $HourMinSec = '';
                }

                if($hourDuration > 0){
                    $hourDuration = $hourDuration;
                } else {
                    $hourDuration = ($format == ':' ? '00:' : '00 h');
                }

                if($minDuration > 0){
                    $minDuration = $minDuration;
                } else {
                    $minDuration = ($format == ':' ? '00:' : '00 m');
                }

                if($secDuration > 0){
                    $secDuration = $secDuration;
                } else {
                    $secDuration = '00';
                }

        //$HourMinSec = $hourDuration.'&nbsp;'.$minDuration.'&nbsp;'.$secDuration;
        $HourMinSec = $hourDuration.$minDuration.$secDuration;

        return $HourMinSec;
    }

在這種情況下,將為您帶來以下添加結果

echo toTime(1508.7397460938);
Output --> 00 h25 m08 s
echo toTime(1508.7397460938,':');
Output --> 00:25:08

另一個變體是通過鍵入以下命令使用php ready函數gmdate:

echo gmdate("H:i:s", 1508.7397460938);

//僅當小時數少於24小時時才使用該函數,該函數現在將顯示超過24小時,如果這樣,它將顯示不正確的數據。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM