2012-02-26 19 views

Respuesta

154
var seconds = new Date()/1000; 

O, para una versión menos hacky:

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

No se olvide de Math.floor() o Math.round() para redondear al número entero más cercano o que podría recibir una decimal muy extraño que no desea :

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

Prueba esto:

new Date().getTime()/1000 

Es posible que desee utilizar Math.floor() o Math.round() para reducir la fracción de milisegundos.

+6

... Creo que incluso 'nueva fecha()/1000' debería funcionar. –

5

Puede crear un objeto Date (que tendrá la hora actual) y luego llamar al getTime() para obtener el ms desde epoch.

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

Si desea segundos, y luego se divide por 1000:

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

Mi forma preferida:

var msEpoch = (+new Date()); 
var sEpoch = (+new Date())/1000; 

Para obtener más información sobre la +jump down the rabbit hole.

8

Las soluciones anteriores usan propiedades de instancia. Otra forma es utilizar la característica de la clase Date.now:

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

Si desea time_in_seconds a ser un número entero que tiene 2 opciones:

a. Si usted quiere ser coherente con el estilo de truncamiento C:

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

b. Si desea tener la definición matemática de división de números enteros para contener, simplemente tome la palabra. (La división entera de Python hace esto).

time_in_seconds_int = Math.floor(time_in_seconds); 
28

Querías segundos desde la época

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

ejemplo utilizar

foo = seconds_since_epoch(); 
+3

Esta debería ser la respuesta ya que tiene en cuenta el decimal. –

5

Si desea sólo unos segundos como un número entero sin los decimales que representan milisegundos todavía conectado, utilice esta :

var seconds = Math.floor(new Date()/1000); 
Cuestiones relacionadas