PHP——秒數轉換為時分秒


前言

通訊記錄需要用到的一個方法,就是將秒轉為時分秒

 

方法

PHP有內置的方法,直接用即可,不過這個只是24小時以內。對於通訊錄來說是夠用了~

示例

$v = 30;
gmdate('H:i:s', $v); //00:00:30

 

如果要改成XX時XX分XX秒這種格式只要轉化下就可以了,我這里直接用三元嵌套了

/**
     * 處理時間
     * 
     * @param string $s 轉化好的時間
     * 
     * @return string $ftime 處理好的時間
     */
    public function ftime($s)
    {
        $time = explode(':', $s);
        $time['0'] == '00' ? $h = 0 : $h = $time['0'];
        $time['1'] == '00' ? $m = 0 : $m = $time['1'];
        $time['2'] == '00' ? $s = 0 : $s = $time['2'];
        $ftime = (
        empty($h) ? (
            empty($m) ? $s .'秒' : (
                empty($s) ? $m . '分' : $m . '分' . $s .'秒'
                )
            ) :(
            empty($m) && empty($s) ? $h .'小時' : (
                empty($m)  ? $h . '時' . $s . '秒' : (
                    empty($s) ? $h . '小時' . $m . '分' : $h . '小時' . $m . '分' .$s . '秒'
                )
                    )
                        )
        );
        return $ftime;
    }

 

效果圖

 

但是這個只是24小時以內的,雖然對通訊錄夠用了,但是對於如果下次需要一個顯示天的呢?所以接下來重新寫個方法。

 

/**
 * 秒轉換為天,小時,分鍾
 * 
 * @param int $second 時間戳
 * 
 * @return string
 */
function secondChanage($second = 0)
{
    $newtime = '';
    $d = floor($second / (3600*24));
    $h = floor(($second % (3600*24)) / 3600);
    $m = floor((($second % (3600*24)) % 3600) / 60);
    $s = $second - ($d*24*3600) - ($h*3600) - ($m*60);

    empty($d) ?  
    $newtime = (
            empty($h) ? (
                empty($m) ? $s . '秒' : ( 
                    empty($s) ? $m.'分' :  $m.'分'.$s.'秒'
                    )
                ) : (
                empty($m) && empty($s) ? $h . '時' : (
                    empty($m) ? $h . '時' . $s . '秒' : (
                        empty($s) ? $h . '時' . $m . '分' : $h . '時' . $m . '分' . $s . '秒'
                        )
                )
            )
    ) : $newtime = (
        empty($h) && empty($m) && empty($s) ? $d . '天' : (
            empty($h) && empty($m) ? $d . '天' . $s .'秒' : (
                empty($h) && empty($s) ? $d . '天' . $m .'分' : (
                    empty($m) && empty($s) ? $d . '天' .$h . '時' : (
                        empty($h) ? $d . '天' .$m . '分' . $s .'秒' : (
                            empty($m) ? $d . '天' .$h . '時' . $s .'秒' : (
                                empty($s) ? $d . '天' .$h . '時' . $m .'分' : $d . '天' .$h . '時' . $m .'分' . $s . '秒'
                            )
                        )
                    )
                )
            )
        )
    );
 
    return $newtime;
  
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM