2012-11-13 12 views
8

Diciamo che digitare il seguente codice nella console:creare javascript UTC data

var TheDate = new Date(2012, 10, 5); 
TheDate.toUTCString(); 
"Sun, 04 Nov 2012 23:00:00 GMT" (I'm +1 hour ahead of GMT) 

Il risultato è che la data è in realtà costituito per l'ora locale. Come posso creare una data impostata su UTC? Se faccio TheDate.toUTCString() lo voglio dire 05 Nov 2012 00:00:00 GMT.

Grazie.

risposta

25

Utilizzare il metodo Date.UTC():

var TheDate = new Date(Date.UTC(2012, 10, 5)); 
console.log(TheDate.toUTCString()); 

rendimenti

Mon, 05 Nov 2012 00:00:00 GMT 

Date.UTC

accetta gli stessi parametri come la forma più lunga del costruttore, e restituisce il numero di millisecondi in un oggetto Date a partire dal 1 gennaio 1970, 00 : 00: 00, ora universale.

+0

Ok, grazie per la risposta !! – frenchie

+0

Qual è la differenza funzionale tra 'new Date (Date.UTC (2012, 10, 5));' e 'Date.UTC (2012, 10, 5);'? –

+2

@JakeT. 'Date.UTC()' restituisce solo il timestamp (un numero). 'new Date (Date.UTC())' restituirà un oggetto 'Date'. – Sirko

2

vorrei suggerire di usare momentjs (

momentjs.com

), allora tutto ciò che dovete fare è:

var theDate = new Date(2012, 10, 5), 
    utcDate = moment.utc(theDate); 
Problemi correlati