2012-04-03 11 views
2

Ich bin in der Lage, das Ausgabeformat zu bekommen, das ich brauche, aber nicht die richtige Zeit. Ich brauche es in GMT (das ist +4 Stunden)Get GMT String vom aktuellen Datum

var dt = new Date(); 
var dt2 = dt.toString('yyyyMMddhhmmss'); 

Irgendwelche Ideen? Die Ausgabe sieht so aus:

20120403031408 

Ich bin in der Lage, die GMT in Standard-String-Format zu erhalten, indem Sie:

dt.toUTCString(); 

aber im unfähig, es zu konvertieren zurück in der YYYYMMDDHHMMSS Zeichenfolge

EDIT: Ich verwende die date.js-Bibliothek

+0

Welche Bibliothek oder welches Skript verwenden Sie, um 'toString (format)' zu bekommen? Die [Standardmethode] (https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Date/toString) bestätigt keine Argumente. –

+0

Entschuldigung, ich benutze date.js. Bearbeitete die Frage, um das zu reflektieren. – user1309548

Antwort

1

date.js ‚s toString(format) keine Option "UTC" bei der Formatierung Daten angeben. Die method itself (am Ende der Datei) verweist nie auf DategetUTC... methods, die zur Unterstützung einer solchen Option erforderlich wäre.

Sie können eine andere Bibliothek verwenden, z. B. Steven Levithans dateFormat. Mit ihm können Sie entweder das Präfix die format mit UTC: oder geben true nach dem format:

var utcFormatted = dateFormat(new Date(), 'UTC:yyyyMMddhhmmss'); 
var utcFormatted = dateFormat(new Date(), 'yyyyMMddhhmmss', true); 

// also 
var utcFormatted = new Date().format('yyyyMMddhhmmss', true); 

Sie können auch Ihre eigene Funktion, wie Dominic demonstrated schreiben.

+0

Arbeitete großartig mit Steven Levithans Bibliothek. Vielen Dank – user1309548

1

Der Schlüssel ist, die getUTC Funktionen zu verwenden:

https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Date

/* use a function for the exact format desired... */ 
function ISODateString(d){ 
    function pad(n) { return n < 10 ? '0'+n : n } 
    return d.getUTCFullYear() + '-' 
     + pad(d.getUTCMonth() +1) + '-' 
     + pad(d.getUTCDate()) + 'T' 
     + pad(d.getUTCHours()) + ':' 
     + pad(d.getUTCMinutes()) + ':' 
     + pad(d.getUTCSeconds()) + 'Z' 
} 

var d = new Date(); 
console.log(ISODateString(d)); // prints something like 2009-09-28T19:03:12Z 
Verwandte Themen