在Windows上的Apache/IIS上使用microtime的奇怪时间格式

dan*_*ich 0 php

<?php
    $start = microtime(true);
    $end = microtime(true);
    echo $end - $start;
?>
Run Code Online (Sandbox Code Playgroud)

为什么这段代码会产生如下结果:

1.1920928955078E-5,
5.9604644775391E-6,
6.9141387939453E-6
Run Code Online (Sandbox Code Playgroud)

E-5和E-6是什么意思?

为什么差异如此之大?从1.2秒到6.9秒?

tva*_*son 6

E是科学或指数表示法,其中每个数字表示为a x 10b,因此aEb意味着乘以a10 b.所以当b = -5时,则乘以10 -5(相差10 5)或将小数位移到左边5位.当b为正数时,则将许多位置的小数位移到右侧.请注意,在科学记数法中,小数点左边始终有一个数字.

所以

1.1920928955078E-5 = 0.000011920928955078

5.9604644775391E-6 = 0.0000059604644775391

6.9141387939453E-6 = 0.0000069141387939453

差异实际上非常小 - 几微秒.