2013-05-06 5 views
11

Hallo all ich suche nach einer Möglichkeit, die aktuelle Systemzeit in einem Zeitstempel zu erhalten. i verwendet, um diesen Zeitstempel zu erhalten:javascript get timestamp in system timezone nicht in UTC

new Date().getTime(); 

aber die Zeit in UTC-Zeitzone nicht wieder die Zeitzone, die Server-Anwendung

ist es eine Möglichkeit, Zeitstempel mit Systemzeitzone zu bekommen?

Antwort

17

Check out moment.js http://momentjs.com/

npm install -S moment 

New Moment Objekte standardmäßig wird das System der Zeitzonen.

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

+1 - Ich habe verwendet Moment.js eine Tonne und es ist ein großartiges Stück Software, mit zu arbeiten. –

5

Da getTime unformatierte Zeit in Millisekunden seit EPOCH zurückgibt, soll es nicht in Zeitzonen umgewandelt werden. Angenommen, Sie sind für formatierte Ausgaben suchen,

Hier wird eine Stammlösung ohne externe Bibliotheken, aus einer Antwort auf a similar question:

die verschiedenen toLocale…String Methoden werden lokalisierte Ausgabe liefern.

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 

Und zusätzliche Formatierungsoptionen können bei Bedarf zur Verfügung gestellt werden.

+0

Funktioniert für mich, danke! – Antoine

3

Installieren Sie das Modul 'Moment' mit:

npm install moment --save 

Und dann im Code die folgenden Zeilen -

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