2011-01-03 7 views
2

Die folgende Zeichenfolge wurde von einem JSON-formatierten Antwortobjekt zurückgegeben und ich möchte es in etwas Nützliches analysieren:/Date (1283457528340)/Wie konvertiere ich diese JSON Datetime?

Wie kann ich es mit JavaScript in etwas benutzerfreundliches analysieren?

+0

Können Sie andere nützliche Details in diesem Beitrag? Ist das ein Unix-Zeitstempel? Ist es UTC-codiert und muss in lokale Zeit konvertiert werden? Gibt es wirklich diese spezielle Zeichenfolge "/ Date (...) /" zurück und Sie müssen die Zahlen analysieren? – jcolebrand

Antwort

5

Es ist die Anzahl der Millisekunden seit Epoche.

Diese Funktion extrahiert eine Zahl aus einer Zeichenfolge und gibt ein Date-Objekt zurück, das aus dieser Zeitnummer erstellt wurde.

function dateFromStringWithTime(str) { 
    var match; 
    if (!(match = str.match(/\d+/))) { 
     return false; 
    } 
    var date = new Date(); 
    date.setTime (match[0] - 0); 
    return date; 
} 

Zum Beispiel

console.log(dateFromStringWithTime('/Date(1283457528340)/').toString()); 

Die Ausgabe lautet:

Fri Sep 03 2010 02:58:48 GMT+0700 (ICT) 
+0

Es ist vorzuziehen, geschweifte Klammern ('{}') um 'if' Statement-Ergebnisblöcke zu halten, um absolute Kompatibilität zu erhalten, obwohl der Standard uns erlaubt, sie wegzulassen. –

+0

Danke für den Vorschlag. :) – Thai

+0

Arbeitete wie ein CHAMP! VIELEN DANK! –

1

Hängt davon ab. Was repräsentiert dieser Wert? Unter Annahme von UNIX-Zeitstempel-Millisekunden (sonst anpassen) können Sie den Wert extrahieren, dann parseInt anwenden und ein neues Date-Objekt damit erstellen.

var str  = "/Date(1283457528340)/"; 
var matches = str.match(/([0-9]+)/); 
var d  = parseInt(matches[0]); 
var obj  = new Date(d); 

Sie sollten dann in der Lage sein, das Date Objekt als normal zu verwenden. Dies ist nicht getestet und kann Tippfehler enthalten, aber die Idee sollte solide sein.

Edit:matches[1] ->matches[0]

+2

Beachten Sie auch, dass ich hier keine Validierung oder Fehlerbehandlung durchführe. –

Verwandte Themen