php替代javascript';s Date().getTime()

php替代javascript';s Date().getTime(),php,Php,通过下面的javascript代码,我得到了时间戳 <script> Date().getTime() </script> Date().getTime() 结果是1454497242551 如何通过php获得相同的时间戳?您可以在php中使用microtime()函数 echo microtime(); 但是,您需要将其除以1000(以及结果) 感谢@mrun的指点 PHP和大整数似乎会引起问题,但也许您可以尝试: quick and easy way ----

通过下面的javascript代码,我得到了时间戳

<script>
Date().getTime()
</script>

Date().getTime()
结果是
1454497242551


如何通过php获得相同的时间戳?您可以在php中使用
microtime()
函数

echo microtime();
但是,您需要将其除以1000(以及结果)


感谢@mrun的指点

PHP和大整数似乎会引起问题,但也许您可以尝试:

quick and easy way
-----------------
echo sprintf('%013.0f', microtime(1)*1000 );

alt version, but no more accurate
---------------------------------
$pieces = explode( " ", microtime() );
$ctstmp = bcadd( ( $pieces[0]*1000 ), bcmul( $pieces[1], 1000 ) );

echo $ctstmp;


In Javascript
var ts=new Date().getTime();


results:
--------
Javascript:      1454592264750
PHP ( sprintf ): 1454592264020
PHP ( alt ):     1454592264020
乘以1000是正确的,因为microtime(true)以秒为单位以浮点形式返回Unix时间戳,javascript
new Date().getTime()
返回自日期时间纪元起的毫秒数(两者都使用1970/01/01的纪元时间)


好的,PHP和Javascript之间存在差异-这可能是由于页面上的呈现。

查看函数。请注意,它将从Unix纪元(格林威治标准时间1970年1月1日0:00:00)开始返回微秒,因此您需要乘以1000,因为JavaScript的
Date().getTime()
以毫秒为单位返回它。@mrun:当然,您的意思是除以1000:1微秒==.001毫秒。或者通过调用
time()
@EliasVanOotegem来获取unix时间戳(它计算自1970年1月1日以来的秒数)!你当然是对的@mrun:诚实的错误,我们都there@Vishnu:很可能-1是因为这个问题基本上就像在问:“这里有一些X语言的代码,有人能帮我用Y语言写吗?”翻译问题被否决了。您可以稍微提出不同的问题(例如:“如何在PHP中以微秒为单位获取时间戳”),并演示PHP的基本知识(您在这里只发布了JS代码,没有演示您了解PHP中的
time();
new DateTime();
)。。。在这里我只是猜测一下,但我想这可能就是为什么你被否决的原因,但是它显示的只有1454497759,我想要完整的长度,就像在问题更新帖子中提到的,应该是microtime(),而不是仍然错误。请看我在问题下留下的评论。@luweiqi:请看我在问题下的评论:除以1000,而不是乘。要将毫秒作为整数,需要编写
floor(microtime()/1000)哦,我也没意识到,只是在自己尝试后才意识到,谢谢@EliasVanOotegem@mrun-与javascript
new Date().getTime()
相比,您尝试过吗?