【PHP】计算时间差,返回几分钟前

依然范儿特西
2019-01-18 / 0 评论 / 1,076 阅读 / 正在检测是否收录...

封装方法


<?php

header("Content-type: text/html; charset=utf-8"); 

function time2Units ($time){
    $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', '个月'=>'month', '周'=>'week', '天'=>'day',
    '小时'=>'hour', '分钟'=>'minute', '秒'=>'second'
    );
    foreach ( $unitArr as $cn => $u ){
    if ( $$u > 0 ){
    $elapse = $$u . $cn;
    break;
    }
    }
    return $elapse;
}

$past = strtotime("2017-01-12 21:49:00"); // Some timestamp in the past
$now = time(); // Current timestamp
$diff = $now - $past;
echo '发表于' . time2Units($diff) . '前';

?>
0

评论 (0)

取消