我有一个包含microtime(true)
值的会话。如下所示:
Yii::app()->user->setState('portal_logged_time', microtime(true));
现在我想在上面的会话中添加15分钟,但它应该保留在microtime中。
$starttime = Yii::app()->user->getState('portal_logged_time');
// Now i want to add microtime of 15 minutes into $starttime
$endtime = // i want to do something like this ($starttime*15*60);
我试过了,但它无效$starttime*15*60
。
那么如何实现呢?
之后我试图获取剩余的分钟和秒数:
$duration = $endtime-$starttime;
$hours = (int)($duration/60/60);
$minutes = (int)($duration/60)-$hours*60;
$seconds = (int)$duration-$hours*60*60-$minutes*60;
答案 0 :(得分:3)
microtime()
提供的值以秒为单位。所以你应该这样做:
$endtime = $starttime + 15*60;
答案 1 :(得分:2)
请注意,返回的时间戳是"微秒",而不是"微秒"。特别好的是,如果你通过了“真实”的话。作为参数,然后计算两个浮点值之间的差异 - 结果已经是秒;它不需要被分成一百万。
<?php
$temp = microtime(true);
echo "$temp";
echo "<br>";
echo date('Y-m-d h i s', $temp);
$sum = round($temp) + 900;
echo "<br>";
echo date('Y-m-d h i s', $sum);
?>
答案 2 :(得分:1)
echo date("H:i:s",$endtime-$starttime);
手动:
$duration = $endtime-$starttime;
$hours = (int)($duration/60/60);
$minutes = (int)($duration/60)-$hours*60;
$seconds = (int)$duration-$hours*60*60-$minutes*60;
答案 3 :(得分:1)
试试这个:
$starttime = round(microtime(true) * 1000);
$endtime = $starttime + 15*60*1000;