微秒将unix时间整数作为PHP中的字符串

时间:2011-07-11 23:01:30

标签: php time

我需要将当前的unixtime作为字符串中的圆形微秒数。代码有可能在具有32位整数的机器上运行,所以我不得不避免使用整数。该值仅用于SQL查询,因此字符串就可以了。

使用以下代码是否安全?

$x = explode(' ', microtime());
$y = $x[1] . substr($x[0], 2, 6);

假设microtime()返回值中这些子串的坐标是不变的,是否安全?

2 个答案:

答案 0 :(得分:0)

这是PHP手册中的documented as such,所以只要你相信PHP不会很快开始破坏向后兼容性,那么是的,你可以相信这一点。

  

默认情况下,microtime()以“msec sec”的形式返回一个字符串,其中sec是自Unix纪元(1970年1月1日0:00:00 GMT)以来的秒数测量的当前时间,以及msec是自秒以来以秒为单位经过的微秒数。

     

如果get_as_float设置为TRUE,则microtime()返回一个浮点数,表示自Unix纪元精确到最接近的微秒以来的当前时间(秒)。


编辑没关系,我误解了。

答案 1 :(得分:0)

  

假设microtime()返回值中这些子串的坐标是不变的,是否安全?

是的,差不多。字符串返回值存在,因为保留的时间更长。一个建议的更改是使可选参数默认为true,然后,您可以将其设置为false以获取字符串。