2012-02-26 55 views

回答

154
var seconds = new Date()/1000; 

或者,對於少哈克版本:

var d = new Date(); 
var seconds = d.getTime()/1000; 

不要忘記Math.floor()Math.round()四捨五入到最接近的整數或你可能會得到一個非常奇怪的小數,你不希望:

var d = new Date(); 
var seconds = Math.round(d.getTime()/1000); 
47

試試這個:

new Date().getTime()/1000 

您可能想要使用Math.floor()Math.round()來減少毫秒級分。

+6

......我想即使'新日期()/ 1000'應該工作。 – 2012-02-26 19:05:55

5

您可以創建一個Date對象(其中將包含當前時間),然後調用getTime()以獲取自epoch以來的ms。

var ms = new Date().getTime(); 

如果你想秒,然後除以1000它:

var sec = new Date().getTime()/1000; 
8

上述解決方案使用實例屬性。另一種方法是使用類屬性Date.now

var time_in_millis = Date.now(); 
var time_in_seconds = time_in_millis/1000; 

如果你想time_in_seconds是一個整數,你有兩個選擇:

一個。如果你想用C風格截斷一致:

time_in_seconds_int = time_in_seconds >= 0 ? 
         Math.floor(time_in_seconds) : Math.ceil(time_in_seconds); 

灣如果你只想讓整數除法的數學定義成立,就請發言。 (Python的整數除法是這樣的)。

time_in_seconds_int = Math.floor(time_in_seconds); 
28

您想紀元以來的秒數

function seconds_since_epoch(){ return Math.floor(Date.now()/1000) } 

例如使用

foo = seconds_since_epoch(); 
+3

這應該是答案,因爲它考慮到了小數。 – 2015-04-15 20:55:08

5

如果你想只有幾秒鐘因爲沒有代表毫秒還連着十進制整數,使用此:

var seconds = Math.floor(new Date()/1000); 
相關問題