Heim > Artikel > Backend-Entwicklung > 取得微秒时间,但是我发现位数怎么忽长忽短呢
public function getmicrotime()
{
list($usec, $sec) = explode(" ",microtime());
//return ((float)$usec + (float)$sec);
return date('ymdHis').$usec *1000000;
}
我是用这个精确到微秒的时间做订单编号。但是发现有时候会少一位,是怎么回事呢。
谢谢
你只是 $usec *1000000
如果 $usec 等于 0.0012345 呢?
扩大 100万倍 不就是 12345 吗?前面并不会补 0 的
list($usec, $sec) = explode(" ",microtime());
return date('YmdHis', $sec) . substr($usec, 2);
把那个号码,格式化一下,确定一下多少位,不够的前面补0