php 获取毫秒级,php 获取毫秒级时间戳的方法实例代码

这篇文章主要介绍了PHP获取毫秒级时间戳的方法,涉及php针对microtime函数返回结果的处理技巧,非常简单实用,需要的朋友可以参考下

本文实例讲述了PHP获取毫秒级时间戳的方法。分享给大家供大家参考。具体分析如下:

PHP本身没有提供获取毫秒级时间戳的函数,java里面可以通过gettime();获取。如果是要与java写的某些程序进行高精度的毫秒级的对接通信,则需要使用PHP输出毫秒级的时间。之前我采取的方法是采用不精准的方式,也就是在PHP原生的时间函数后面加上一个三位数字构成。为获取更为精准的毫秒级时间戳可以使用下面的代码:function getMillisecond() {

list($s1, $s2) = explode(' ', microtime());

return (float)sprintf('%.0f', (floatval($s1) + floatval($s2)) * 1000);

}

/*

* 获取时间差,毫秒级

*/

function get_subtraction()

{

$t1 = microtime(true);

$t2 = microtime(true);

return (($t2-$1)*1000).'ms';

}

/*

* microsecond 微秒 millisecond 毫秒

*返回时间戳的毫秒数部分

*/

function get_millisecond()

{

list($usec, $sec) = explode(" ", microtime());

$msec=round($usec*1000);

return $msec;

}

/*

*

*返回字符串的毫秒数时间戳

*/

function get_total_millisecond()

{

$time = explode (" ", microtime () );

$time = $time [1] . ($time [0] * 1000);

$time2 = explode ( ".", $time );

$time = $time2 [0];

return $time;

}

/*

*

*返回当前 Unix 时间戳和微秒数(用秒的小数表示)浮点数表示,常用来计算代码段执行时间

*/

function microtime_float()

{

list($usec, $sec) = explode(" ", microtime());

return ((float)$usec + (float)$sec);

}

$millisecond = get_millisecond();

$millisecond = str_pad($millisecond,3,'0',STR_PAD_RIGHT);

echo date("YmdHis").$millisecond;

PS:在32位系统中php的int最大值远远小于毫秒数,所以不能使用int类型,而php中没有long类型,所以只好使用浮点数来表示。由于使用了浮点数,如果精度设置不对,使用echo显示获取的结果时可能会不正确,要想看到输出正确的结果,精度设置不能低于13位。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值