2017-08-30 42 views
0

方法date.valueOf()的JavaScript我有此脚本在JavaScript:等效采用PHP

var dt = new Date(); 
var intDt = dt.valueOf(); 
console.log(intDt); // 1504100049524 

我想这个隐蔽到PHP,但我惊讶的结果是不一样的。 这是我的PHP脚本:

$dt = date(DATE_RFC2822); 
$intDt = strtotime($dt); 
echo($intDt); //1504100049 

我需要这个来计算的月相,分数和角度。

月相的相位,分数和角度的微积分在我的js脚本中工作正常。但是我的PHP的结果与JavaScript不同,因为这个。

+2

微秒时间可以通过'microtime(true)' –

+0

接收。请参见[本答](/ a/20502368/5764553)。数字并没有你想像的那么不同。 PHP大约是JavaScript数字的1000倍,因为它在几秒钟内运行,而不是几毫秒。 –

+2

如果你想要这个用于计算月相等,那么使用DateTime对象的时区和夏时制对比简单的unix时间戳更好 –

回答

0

PHP的时间函数返回自从unix时代以来不以毫秒为单位的时间,比如JS。您需要将JS时间除以1000,并丢弃余数或将PHP时间乘以1000.将第二个参数设置为true可以使用microtime,但它只能检索当前时间。