微秒,秒数为2位小数

时间:2015-05-23 20:05:11

标签: php microtime

我尝试用2位小数计算第二个动作的时间。

ShareLinkContent linkContent = new ShareLinkContent.Builder()
                .setContentUrl(Uri.parse(aFacebookPageURL))
                .setImageUrl(Uri.parse(imageUrl))
                .build();

此方法将开始时间作为$ data ...并返回int int

例如它返回2秒。

我尝试以2位小数获得第二名......

protected function microtimeFormat($data)
    {
        $duration = microtime(true) - $data;
        $hours = (int)($duration/60/60);
        $minutes = (int)($duration/60)-$hours*60;
        return $seconds = $duration-$hours*60*60-$minutes*60;

    }

但短时间内它会返回0.00

2 个答案:

答案 0 :(得分:0)

我认为您的问题来自于var app = require('express')(); app.configure(function() { // Static files - all js, css, images, etc go into the static path app.use('/static', express.static('/static')); // If a static file is invalid so we send 404 app.use('/static', function(req, res, next) { res.send(404); }); // This route deals enables HTML5Mode by forwarding missing files to the index.html app.all('/*', function(req, res) { res.sendfile('index.html'); }); }); app.listen(3000);转换为(float)$hours。当你这样做时,你不保存每个小数部分,所以你的$minutes计算总是给0.转换为$seconds所以你实际保存在int$hours它们各自代表的实际秒数。剩余部分转到$minutes

$seconds

这给了我:

protected function microtimeFormat($data,$format=null,$lng=null)
{
    $duration = microtime(true) - $data;
    $hours = (int)($duration/60/60);
    $minutes = (int)($duration/60)-$hours*60;
    $seconds = $duration-$hours*60*60-$minutes*60;
    return number_format((float)$seconds, 2, '.', '');
}

$start = microtime(TRUE);
sleep(1);
$delay = $this->microtimeFormat($start);
var_dump($delay);

答案 1 :(得分:0)

我使用此表单以秒为单位生成时间,例如 1.20

$start = microtime(true);
for ($i=0; $i < 10000000; $i++) { 
    # code...
}
$end = microtime(true);

echo "<br>" . $time = number_format(($end - $start), 2);
// We get this: 1.20

比较PHP的2个函数的性能的示例:

define( 'NUM_TESTS', 1000000);

$start = microtime(true);

for( $i = 0; $i < NUM_TESTS; $i++)
{
    mt_rand();
}

$end = microtime(true) - $start;
echo 'mt_rand: ' . number_format(($end), 2) . "\n";

$start = microtime(true);

for( $i = 0; $i < NUM_TESTS; $i++)
{
    uniqid();
}

$end = microtime(true) - $start;
echo 'uniqid: ' . number_format(($end), 2) . "\n";
// We get this: mt_rand: 0.12 uniqid: 2.06