Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/248.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php,如何将秒计算为分钟?_Php_Time - Fatal编程技术网

php,如何将秒计算为分钟?

php,如何将秒计算为分钟?,php,time,Php,Time,可能的重复项: 我有这个用户在线脚本,我正在工作。目前情况如下 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&g

可能的重复项:

我有这个用户在线脚本,我正在工作。目前情况如下

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>';

}
我想知道如何让它产生回声,这样它就可以把它转换成分和秒,这样它看起来就像这样

Some username was last active 9 minutes and 27 seconds ago.

提前谢谢,如果你知道我在哪里可以学到这个,请发一个链接。:)

您可以将分钟除以60,将秒除以模:

$minutes = $last_active / 60;
$seconds = $last_actives % 60;

你可以除以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.";
这会将其分解为分和秒,如果分或秒为零,则不会输出分或秒(即,否“0分30秒前”)。注意,如果要添加小时(X小时、Y分钟、Z秒),可以采用相同的方法,再次除以60(每小时60分钟、每分钟60秒)。要获得“天”,您需要除以24(每天24小时)。

$code>$minutes=$last\u active/60; $seconds=$last_active%60; echo“。$online_user['username']”是上次激活的“$minutes.”分钟和“$seconds.”秒前。


您可以添加额外的if来检查分钟数是否为0,以不显示“分钟和”部分。

无论您使用何种语言,基本过程都是相同的:

mins = floor (secs / 60);
secs = secs mod 60;

hour = floor (mins / 60);
mins = mins mod 60;

如果seconds为0,您只能输出分钟:)我不明白您的意思。他想要10分19秒。如果你只有10分钟(0秒),它将只输出10分钟。看看php的
date()
date()
在时差方面不是很可靠。如果差值超过24小时,或者在本例中,如果差值超过一小时,则该选项无效。您将希望使用地板而不是圆形。
$minutes = $last_active / 60;
$seconds = $last_actives % 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.";
$minutes = $last_active / 60;
$seconds = $last_active % 60;
echo '<p>' . $online_user['username'].' was last active '.$minutes.' minutes and '.$seconds.' seconds ago.</p>';
mins = floor (secs / 60);
secs = secs mod 60;

hour = floor (mins / 60);
mins = mins mod 60;