我想从我的数据库获取date_time
数据,并按照格式回复它 -
示例:added 7 hours ago
,added 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);
?>
答案 0 :(得分:0)
1422826850是02/01/2015 @ 9:40 pm(UTC),当前是02/01/2015 @ 1:48 pm(UTC)。
humanTiming
函数只能处理过去的时间而不是未来。