2017-08-30 86 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,但它只能檢索當前時間。