免费人成网站视频在线观看国内,久视频精品线在线观看,人妻激情偷乱频一区二区三区,国产 字幕 制服 中文 在线

計算時(shí)間戳時(shí)間差轉年月日時(shí)分秒格式_網(wǎng)絡(luò )編程_奇迪科技(深圳)有限公司(m.cheanjie.com)

歡迎來(lái)到奇迪科技(深圳)有限公司,超值服務(wù)提供卓越產(chǎn)品!

網(wǎng)絡(luò )編程

計算時(shí)間戳時(shí)間差轉年月日時(shí)分秒格式

作者:admin 來(lái)源: 更新時(shí)間:2024-01-23

計算兩個(gè)時(shí)間戳的時(shí)間差,并且返回如下格式:X年X個(gè)月X天X小時(shí)X分鐘X秒

直接將時(shí)間相減可以嗎?不可以的,因為時(shí)間戳是從1970年開(kāi)始往后累計的秒數,要想得到特定格式的時(shí)間差,除了需要將兩個(gè)時(shí)間戳相減外以外,還需要做時(shí)間單位的換算才能轉換格式。即:將秒數都換算成年月日時(shí)分秒為單位。下面是一個(gè)計算時(shí)間差并且實(shí)現格式轉換的PHP自定義函數,使用該函數可以得到特定格式的時(shí)間差:

<?php
/*
參數:$time1、$time1  要計算時(shí)間差的兩個(gè)時(shí)間戳
返回:時(shí)間差,格式:X年X個(gè)月X天X小時(shí)X分鐘X秒
*/
function changeTime($time1,$time2){
    $time   =  abs($time1 - $time2);
    
    $year   = floor($time / 60 / 60 / 24 / 365);
    $time  -= $year * 60 * 60 * 24 * 365;
    $month  = floor($time / 60 / 60 / 24 / 30);
    $time  -= $month * 60 * 60 * 24 * 30;
    $week   = floor($time / 60 / 60 / 24 / 7);
    $time  -= $week * 60 * 60 * 24 * 7;
    $day    = floor($time / 60 / 60 / 24);
    $time  -= $day * 60 * 60 * 24;
    $hour   = floor($time / 60 / 60);
    $time  -= $hour * 60 * 60;
    $minute = floor($time / 60);
    $time  -= $minute * 60;
    $second = $time;
    $elapse = '';
    
    $unitArr = array(
        '年'=>'year',
        '個(gè)月'=>'month',
        '周'=>'week',
        '天'=>'day',
        '小時(shí)'=>'hour',
        '分鐘'=>'minute',
        '秒'=>'second'
    );
    
    foreach ( $unitArr as $cn => $u ){        
        if ( $$u > 0 ){
            $elapse .= $$u . $cn;            
        }
    }
    return $elapse;
}
?>

該函數巧妙地使用了$$可變變量,簡(jiǎn)單有效地實(shí)現了所需功能。

用法說(shuō)明:該函數需要兩個(gè)參數time1和time2,即要計算 時(shí)間差的時(shí)間戳,這兩個(gè)時(shí)間不分先后,誰(shuí)大誰(shuí)小都可以。

演示實(shí)例:

<?php
$time1= 1705570577;
$time2= 1795564401;
echo getTime($time1,$time2);
?>

運行結果:2年10個(gè)月1周4天14小時(shí)17分鐘4秒




本文版權所有,轉載須注明:來(lái)源  http://m.cheanjie.com/qvdv-oop-119.html