我有这个用户在线脚本,我正在努力.到目前为止,它如下......
while ($online_user = $q -> fetch(PDO::FETCH_ASSOC)) {
$last_active = time() - $online_user['online'];
echo '<p>' . $online_user['username'] . ' was last active ' . $last_active . ' seconds
ago.</p>';
}
Run Code Online (Sandbox Code Playgroud)
$ online_user ['online']是用户在网站上活动的最后一次().因此,当我从当前时间()中减去它时,它会给出我们最后一次活动的秒数.
事情就是这样的回声:
Some username was last active 567 seconds ago.
Run Code Online (Sandbox Code Playgroud)
我想知道如何让它回声,所以它会把它转换成分钟和秒钟,所以它看起来像这样;
Some username was last active 9 minutes and 27 seconds ago.
Run Code Online (Sandbox Code Playgroud)
如果您知道我可以学到的任何地方,请提前致谢,请发布链接.:)
您可以除以60来获得分钟数.除法余数是不是一分钟的秒数.
$minutes = floor($last_active / 60);
$seconds = $last_active % 60;
echo 'Some username was last active ';
if ($minutes > 0) {
echo "$minutes minutes ";
}
if ($seconds > 0) {
if ($minutes > 0) {
echo "and ";
}
echo "$seconds seconds ";
}
echo "ago.";
Run Code Online (Sandbox Code Playgroud)
这会将其分解为分钟和秒,并且如果其中任何一个为零,则不会输出分钟或秒(即没有"0分30秒前".注意是否要添加小时数(X小时,Y分钟) ,Z秒),你可以采取相同的方法,再分为60(每小时60分钟,每分钟60秒).要获得'天',你将除以24(每天24小时).
function sec_to_time($seconds) {
$hours = floor($seconds / 3600);
$minutes = floor($seconds % 3600 / 60);
$seconds = $seconds % 60;
return sprintf("%d:%02d:%02d", $hours, $minutes, $seconds);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14934 次 |
| 最近记录: |