【发布时间】:2013-06-24 11:14:19
【问题描述】:
我想逐步了解如何将我的 mysql 表 中的 时间戳 转换为相对时间(4 秒前,5 个月以前...)在我的网站上。
关于信息,我的时间戳列名为creation,我的表名为users。
我试过的代码:
function relativedate($secs) {
$second = 1;
$minute = 60;
$hour = 60*60;
$day = 60*60*24;
$week = 60*60*24*7;
$month = 60*60*24*7*30;
$year = 60*60*24*7*30*365;
if ($secs <= 0) { $output = "now";
}elseif ($secs > $second && $secs < $minute) { $output = round($secs/$second)." second";
}elseif ($secs >= $minute && $secs < $hour) { $output = round($secs/$minute)." minute";
}elseif ($secs >= $hour && $secs < $day) { $output = round($secs/$hour)." hour";
}elseif ($secs >= $day && $secs < $week) { $output = round($secs/$day)." day";
}elseif ($secs >= $week && $secs < $month) { $output = round($secs/$week)." week";
}elseif ($secs >= $month && $secs < $year) { $output = round($secs/$month)." month";
}elseif ($secs >= $year && $secs < $year*10) { $output = round($secs/$year)." year";
}else{ $output = " more than a decade ago"; }
if ($output <> "now"){
$output = (substr($output,0,2)<>"1 ") ? $output."s" : $output;
}
return $output;
}
echo relativedate(60); // 1 minute
【问题讨论】:
-
我找到了多个代码,但它不起作用...我只是复制/粘贴,我不知道如何集成它们...
-
这段代码有什么问题?您从 mysql 获取时间的格式是什么?
-
«echo relativedate(60);»只显示 «1 分钟»...它卡在那里。
-
你期待什么?
-
我想获取数据库中的时间戳,并以 «3 分钟前...» 等格式显示它
标签: php mysql time timestamp relative-date