不灭的焱

革命尚未成功,同志仍须努力

作者:php-note.com  发布于:2020-06-21 17:34  分类:PHP库/系统/微信  编辑

PHP格式化时长,转换为 年/月/星期/天/时/分/秒

/**
 * 格式化时长(年/月/星期/天/时/分/秒)
 * 
 * @param string $startTime 开始时间,如:2020-06-21 17:07:34
 * @param string $endTime 结束时间,如:2020-06-21 23:08:42
 * @return string
 */
function formatDuration($startTime = '', $endTime = ''){
    if (empty($startTime)) {
        return '';
    }
   
    if (empty($endTime)) {
       $endTime = date('Y-m-d H:i:s'); 
    }
    
    $startTime = strtotime($startTime);
    $endTime   = strtotime($endTime);
    
    $duration = $endTime - $startTime;
    $format   = [
        '31536000' => '年',
        '2592000'  => '个月',
        '604800'   => '星期',
        '86400'    => '天',
        '3600'     => '小时',
        '60'       => '分钟',
        '1'        => '秒'
    ];
    
    foreach ($format as $k => $v) {
        if (0 != $c = floor($duration / (int)$k)) {
            return '<span class="color-red">' . $c . '&nbsp;</span>' . $v;
        }
    }
    
    return '';
}