如何将秒数计入分钟,php?

car*_*der 0 php time

可能重复:
输出以秒为单位.在PHP中转换为hh:mm:ss格式
如何显示秒前/分钟前/使用unix时间戳?

我有这个用户在线脚本,我正在努力.到目前为止,它如下......

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)

如果您知道我可以学到的任何地方,请提前致谢,请发布链接.:)

JJ.*_*JJ. 6

您可以除以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小时).


Tre*_*fex 5

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)