您的位置:首页 > 编程语言 > PHP开发

PHP获取毫秒时间戳

2015-03-22 12:24 141 查看
我们知道,PHP中time()函数获取的时间戳,其单位是秒.

但是,前端JS获取的时间戳,单位是毫秒.
那么,在实际应用中,如何将JS和PHP的时间戳统一,即如何使用PHP获取毫秒时间戳呢,请看下例:

<?php

//函数,获取毫秒时间戳

functiongetMillisecond(){

list($t1,$t2)=explode('',microtime());

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

}


//上面的函数是百度出来的,我刚开始看着也不是很明白.

//现分开详细讲解如下:

functiongetMillisecond_new(){

//使用microtime()获取微秒时间戳,格式(中间空格隔开):'秒的小数部分秒的整数部分',例如'0.697189001420440552'

//将微秒字符串explode炸开,接收$t1=0.69718900$t2=1420440552

list($t1,$t2)=explode('',microtime());

//转成浮点数

$t1=floatval($t1);

$t2=floatval($t2);

//相加×1000

$total=($t1+$t2)*1000;

//四舍五入

$total=round($total,0);

//返回结果

return$total;

}

echogetMillisecond(),"PHP毫秒-getMillisecond()<br/>";

echogetMillisecond_new().'PHP毫秒-getMillisecond_new()';

/*

*思路:

*1.使用microtime()获取微秒时间戳,格式:0.697189001420440552

*2.前后两部分相加×1000,然后四舍五入round($float,0)

*秒time()-->毫秒-->微秒microtime(),两两之间是1000进制

*这样,就可以与前端JS的时间戳保持一致

*JS:newDate().getTime()获得毫秒时间戳

*/

?>

<!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN"
>
<html
>
<head
>
<metahttp-equiv="Content-Type"content="text/html;charset=utf-8"
>
<title>time</title
>
</head
>
<body
>
<br/
>
<script
>
vartime=newDate();

varmtime=time.getTime();

document.write(mtime+'JS获得毫秒时间戳');

</script
>
</body
>
</html
>

运行结果如下:

1424069168633PHP毫秒-getMillisecond()

1424069168633PHP毫秒-getMillisecond_new()

1424069168643JS获得毫秒时间戳


可以看出,第三个时间戳数值稍微比前两个大,这是代码运行所消耗的时间,是正常的.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: