2012-06-23 28 views

Respuesta

12

Basta con crear un objeto Date de ella y hacer .getTime() o uso Date.parse():

var d = new Date("Wed Jun 20 19:20:44 +0000 2012"); 
d.getTime(); //returns 1340220044000 

//OR 

Date.parse("Wed Jun 20 19:20:44 +0000 2012"); //returns 1340220044000 

funciona muy bien si su "tiempo humano" cadena está en un formato que entiende el constructor Date (que el ejemplo informados es)


EDITAR

se dio cuenta de que puede significar una marca de tiempo Unix, que es segundo transcurrido desde la época (no ms como marcas de tiempo JS). En ese caso, simplemente divida la marca de tiempo por JS 1000:

//if you want to truncate ms instead of rounding just use Math.floor() 
Math.round(Date.parse("Wed Jun 20 19:20:44 +0000 2012")/1000); //returns 1340220044 
+0

Da "Fecha no válida" para mí. –

+0

Funciona bien para mí: http://jsfiddle.net/sv9p3/ – Chad

+0

'NaN' en ambos casos. Esto se debe a la configuración regional, y es exactamente por eso que el análisis de cadenas humanas es un problema. –

5

En teoría, la Date.parse(). En la práctica, sin embargo, con las miles de formas diferentes de expresar la fecha y la hora (la menor de las cuales son los nombres de días/meses en diferentes idiomas), es mucho más fácil obtener la fecha en sus partes componentes en lugar de intentar leer una cuerda.

0

Parece que la fecha/hora que ha proporcionado está en segundos, no en milisegundos. Por lo tanto, tendrá que dividir por 1000 para obtener la fecha/hora en segundos.

//Gets date in seconds 
var d1 = Date.parse('Wed Jun 20 19:20:44 +0000 2012')/1000; 
alert(d1); 

Ejemplo: http://jsfiddle.net/AUt9K/

0

sólo tiene que añadir lo siguiente: new Date().getTime()

Esto debe conseguir que marca de tiempo de la hora actual. Ejemplo: var url = "http://abc.xyz.com/my-script.js?v=" + new Date().getTime();