2012-06-23 17 views

risposta

12

Basta creare un oggetto Date da esso e fare .getTime() o utilizzare 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 

Funziona grande se il vostro "tempo umano" stringa è in un formato che il costruttore Data capisce (che l'esempio che hai postato).


EDIT

capito che può significare un timestamp Unix, che è secondi trascorsi dalla dell'epoca (non ms come timestamp JS). In tal caso è sufficiente dividere il timestamp JS da 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

Fornisce "Data non valida" per me. –

+0

Funziona bene per me: http://jsfiddle.net/sv9p3/ – Chad

+0

'NaN' su entrambi i fronti. Ciò è dovuto al locale ed è esattamente il motivo per cui analizzare le stringhe umane è un problema. –

5

In teoria, con Date.parse(). In pratica, tuttavia, con le migliaia di modi diversi di esprimere data e ora (il minimo dei quali è il nome di giorni/mesi in lingue diverse), è molto più facile ottenere la data nelle sue parti componenti invece di cercare di leggere un stringa.

0

Sembra che la data/ora che hai fornito sia in secondi e non in millisecondi. Quindi dovrai dividere per 1000 per ottenere la data/l'ora in secondi.

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

Esempio: http://jsfiddle.net/AUt9K/

0

Basta aggiungere seguente: new Date().getTime()

Questo dovrebbe farti timestamp del tempo corrente. Esempio: var url = "http://abc.xyz.com/my-script.js?v=" + new Date().getTime();