PHP microtime使用,第一个返回的到底是微妙还是毫秒?

官方手册上面写的是微秒,个人觉得好像是毫秒。
比如:使用函数获得0.25139300 1138197510然后组合1138197510.25139300就是当前的时间秒数,第二次获得的microtime:1138197511.60139300就可以获得执行时间秒数。比如1.35秒,而这里的0.35秒明显是秒相减的结果,而1/1000秒=1毫秒=1000微秒啊!能不能帮我解释一下到底怎么回事?
感谢imkow的回答,现在我明白了。当我们使用gettimeofday时,可以看到时间戳和微妙数。而microtime是基于gettimeofday的,比如(这里时间上有一定的误差,我是一次执行这两个函数)
这里是gettimeofday的值:
array
'sec' => int 1321926926
'usec' => int 914804
'minuteswest' => int -480
'dsttime' => int 0
这里是microtime(TRUE)的值:
float 1321926926.915
也就是说这里的0.915是来源于微秒914804然后转换为秒的。官方手册说前一个是微秒,也就是说0.915是微秒,这样我们如果转换为秒再计算是行不通的。

获得的值是微秒 microsecond。
比如0.25139300 ,有效数字是6位,正好符合1秒=1,000毫秒=1,000,000微秒

使用echo microtime(true);直接获得浮点值。

楼主测到一个0.35时差,可能是巧合正好在350毫秒之间。函数本身精确到微秒的。
温馨提示:内容为网友见解,仅供参考
第1个回答  2019-06-27
字符串的两部分的单位都是秒,第一部分是精确到微秒的部分,第二部分是精确到秒的部分,不带参数true的时候,结果分割成这两部分了而已。
第2个回答  2011-11-21
microtime — 返回当前 Unix 时间戳和微秒数
第3个回答  2011-11-21
是微秒,应该是你程序设计的问题

PHP microtime使用,第一个返回的到底是微妙还是毫秒?
使用echo microtime(true);直接获得浮点值。楼主测到一个0.35时差,可能是巧合正好在350毫秒之间。函数本身精确到微秒的。

microtime函数原型与详细说明
总结起来,microtime() 是一个提供当前时间毫秒级精度的函数,但在使用时需要确认你的系统环境是否支持其功能。

php中的以下函数: 1.mktime() 2.time() 3.date() 4.getdate() 5.strt...
返回值:函数microtime返回一个字符串,其组成为两个由空格隔开的成员,第一个成员是系统时间的毫秒数,第二个成员是从1970年1月1日开始计的秒数,即系统时间的时间戳。

php时间戳time是秒还是毫秒?
秒,time()函数返回的是 当前时间的Unix时间戳格式,即1970年1月1日0:00:00到当前的秒数。如果你需要得到当前时间的微秒数 可以使用microtime(true);方法。\/\/ 获取毫秒的时间戳 $time = explode ( " ", microtime () ); $time = $time [1] . ($time [0] * 1000); $time2 = ...

注意MySQL数据库不支持毫秒级时间精度mysql不支持毫秒
这将返回当前日期时间值,例如2022-05-22 17:28:02。然而,由于MySQL不支持毫秒级时间精度,因此,在存储时间戳时会丢失小数部分。例如,如果使用PHP中的microtime()函数生成一个带有毫秒级时间精度的时间戳,并将其存储到MySQL中:microtime = microtime(true); \/\/ returns something like 1610327084....

PHP里面的include是什么意思?连接数据库的时候才用吗?后面括号里面的以...
还有一个函数require,与include类似,不过如果文件不存在会产生错误。require比include快一些,因为include有返回值,而require没有。同样,最好不要使用require_once。参见PHP手册:require 和 require_once:http:\/\/php.net\/manual\/zh\/function.require.php http:\/\/php.net\/manual\/zh\/function.require-...

php时间戳time是秒还是毫秒
秒,time()函数返回的是 当前时间的Unix时间戳格式,即1970年1月1日0:00:00到当前的秒数。如果你需要得到当前时间的微秒数 可以使用microtime(true);方法。\/\/ 获取毫秒的时间戳 $time = explode ( " ", microtime () ); $time = $time [1] . ($time [0] * 1000); $time2 = ...

php时间戳time是秒还是毫秒?
秒,time()函数返回的是 当前时间的Unix时间戳格式,即1970年1月1日0:00:00到当前的秒数。如果你需要得到当前时间的微秒数 可以使用microtime(true);方法。\/\/ 获取毫秒的时间戳 $time = explode ( " ", microtime () ); $time = $time [1] . ($time [0] * 1000); $time2 = ...

相似回答