php替代javascript';s Date().getTime()
通过下面的javascript代码,我得到了时间戳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 ----
<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时间戳,javascriptnew 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-与javascriptnew Date().getTime()
相比,您尝试过吗?