如何将分钟转换为microtime

时间:2016-09-13 08:57:52

标签: php time yii microtime

我有一个包含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;

4 个答案:

答案 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);

?>

Check here

答案 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;