从数据库中获取时间并经过回声时间

时间:2015-02-01 11:56:33

标签: php mysql

我想从我的数据库获取date_time数据,并按照格式回复它 -

示例:added 7 hours agoadded 8 minutes ago

我已经使用以下代码进行此方法,但我的代码只打印字符串added ago,其中没有经过时间的数据。功能似乎没问题,但我不知道我在哪里弄乱了我的代码。

感谢您的帮助。

//Calculating Time Elapsed
    function humanTiming ($time)
{
    $time = time() - $time; // to get the time since that moment

    $tokens = array (
        31536000 => 'year',
        2592000 => 'month',
        604800 => 'week',
        86400 => 'day',
        3600 => 'hour',
        60 => 'minute',
        1 => 'second'
    );

    foreach ($tokens as $unit => $text) {
        if ($time < $unit) continue;
        $numberOfUnits = floor($time / $unit);
        return $numberOfUnits.' '.$text.(($numberOfUnits>1)?'s':'');
    }
}

while($row = mysql_fetch_array($retval, MYSQL_ASSOC))
{ 
    $time = strtotime($row['dt']);   
    $temp = humanTiming($time);
    echo 'added ' .$temp. ' ago';
}
mysql_close($conn);
?>

1 个答案:

答案 0 :(得分:0)

1422826850是02/01/2015 @ 9:40 pm(UTC),当前是02/01/2015 @ 1:48 pm(UTC)。

humanTiming函数只能处理过去的时间而不是未来。

也许你可以从https://stackoverflow.com/a/2690541/692076

得到一些想法