直接使用
echo intval(microtime(true)*1000);来源:https://www.cnblogs.com/opensmarty/p/11377624.html
php没有自带的函数能获取毫秒时间戳,但提供了一个 microtime() 函数,microtime() 函数的详细说明,可以到 w3chool 上面看看 《PHP microtime() 函数》。
<?php
echo microtime();
//输出结果是
//0.25139300 1138197510注意了,它的结果是分两部分的,也就是前半部分是毫秒(但是单位是秒),后半部分是秒。
现在,我们依据这个做下修改,如下:
<?php
list($msec, $sec) = explode(' ', microtime());
$msectime = (float)sprintf('%.0f', (floatval($msec) + floatval($sec)) * 1000);这样就可以了,$msectime 就是当前的毫秒数!可以将这两行封装成一个函数方便使用。
<?php
//返回当前的毫秒时间戳
function msectime() {
list($msec, $sec) = explode(' ', microtime());
$msectime = (float)sprintf('%.0f', (floatval($msec) + floatval($sec)) * 1000);
return $msectime;
}注意:sprintf('%.0f', $num) 是输出不含小数部分的浮点数
事情还没有结束,我把时间戳改成毫秒级别后,再次更新数据库数据时,却提示超出范围,原来之前我在数据库中是用 int 型来存储 time() 函数获取的秒级别的时间戳,存储范围是够的,改成毫秒级别的,就得改成 BIGINT 类型了。