php 获取毫秒时间戳
2018-08-08 本文已影响0人
6f748fe54ad4
在开发的过程中,请求接口时,经常以时间戳作为双方约定好的参数。那此时一定要再追问一句,是10位时间戳还是13位时间戳,即为毫秒时间戳。
在工程中,搜索底层函数,获得了php语言下对于毫秒时间戳的两种主要的实现方式。
深入看了下两种方式的原理,在此分享给大家。
/***********第一种方式***********/
ceil(microtime(true)*1000);
/***********第二种方式
* 获取毫秒时间戳
* @return number
*/
private static function getMillisecond() {
list($t1, $t2) = explode(' ', microtime());
return (float)sprintf('%.0f', (floatval($t1) + floatval($t2)) * 1000);
}
总结:
推荐第一种方式,看起来简洁明了,代码量小。
microtime 返回当前 Unix 时间戳的微秒数。
参数 get_as_float可选,PHP 5.0.0新增。
当设置为 TRUE 时,规定函数应该返回浮点数,否则返回字符串。
第二种方式的原理就是先返回字符串 "microsec sec" ,其中 sec 为自 Unix 纪元(0:00:00 January 1, 1970 GMT)起的秒数,microsec 为微秒部分。
然后切割字符串,(秒数+微妙数)*1000, 格式匹配后返回毫秒数。