2012-12-21 30 views
15

pracuję z JSON API, który reprezentuje dat jak tenKonwersja uniksowy znacznik czasu do obiektu Date javascript

"date" : "/Date(1356081900000)/" 

chcę przekształcić regularnego javascript Data.

Jedynym sposobem na rozwiązanie tego problemu jest zastąpienie wszystkiego, co pozostawia znacznik czasu, który mogę następnie "przekonwertować".

To działa, ale wygląda źle.

Moje pytanie. Czy mogę to zrobić w lepszy sposób?

UPDATE

unix_timestamp = jsonDate.replace('/Date(', '').replace(')/', ''); 

newDate = new Date(+unix_timestamp + 1000*3600); 
+1

Czy widziałeś ten drugi wpis? Konwersja znacznika czasowego Unix do czasu w JavaScript] (http://stackoverflow.com/questions/847185/convert-a-unix-timestamp-to-time-in-javascript) –

Odpowiedz

8

Spróbuj czegoś takiego: -

var d = new Date(unix_timestamp*1000); 

lub

var d = new Date([UNIX Timestamp] * 1000); 
+1

to działa dla mnie, dziesięć proste 'powrót t.toLocaleDateString() + '' + t.toLocaleTimeString(); 'w mojej funkcji – elporfirio

0

Konstruktor Date przyjmuje timestamp Unix.

function cleanDate(d) { 
    return new Date(+d.replace(/\/Date\((\d+)\)\//, '$1')); 
} 

cleanDate("/Date(1356081900000)/"); // => Fri Dec 21 2012 04:25:00 GMT-0500 (EST) 
Powiązane problemy