2013-05-06 11 views
11

Ciao a tutti sto cercando un modo per ottenere l'ora del sistema corrente in un timestamp. ho usato questo per ottenere timestamp:javascript get timestamp nel fuso orario del sistema non in UTC

new Date().getTime(); 

ma tornare il tempo nel fuso orario UTC non il fuso orario che l'uso di server

non v'è alcun modo per ottenere timestamp con il fuso orario del sistema?

risposta

17

Partenza moment.js http://momentjs.com/

npm install -S moment 

Nuovi oggetti momento sarà di default hanno compensato il fuso orario del sistema.

var now = moment() 
var formatted = now.format('YYYY-MM-DD HH:mm:ss Z') 
console.log(formatted) 
+0

+1 - Io ho usato Moment.js a tonnellata ed è un ottimo pezzo di software con cui lavorare. –

5

Da getTime torna ora non formattato in millisecondi dal EPOCH, non dovrebbe essere convertito in fusi orari. Supponendo che si sta cercando per l'output formattato,

Qui è una soluzione madre, senza librerie esterne, da una risposta a a similar question:

i vari metodi toLocale…String fornirà uscita localizzato.

d = new Date(); 
alert(d);      // -> Sat Feb 28 2004 23:45:26 GMT-0300 (BRT) 
alert(d.toLocaleString());  // -> Sat Feb 28 23:45:26 2004 
alert(d.toLocaleDateString()); // -> 02/28/2004 
alert(d.toLocaleTimeString()); // -> 23:45:26 

E in più opzioni di formattazione possono essere fornite, se necessario.

+0

Funziona per me, grazie! – Antoine

3

Installare il modulo 'momento' utilizzando:

npm install moment --save 

E poi nel codice aggiungere le seguenti righe -

var moment = require('moment'); 
var time = moment(); 
var time_format = time.format('YYYY-MM-DD HH:mm:ss Z'); 
console.log(time_format); 
Problemi correlati