Data di analisi da webservice

Ricevo le date da un webservice e assomigliano a questo:

/Date(1310187160270+1200)/

Come faccio a convertirli in un object data in javascript?

Ho cercato un po ‘su google e non riesco a trovare una risposta decente – questo può essere dovuto in parte al fatto che non sono esattamente sicuro di come si chiama questo tipo di object data – quindi se qualcuno potrebbe far luce anche su quello, sarebbe apprezzato.

 var date = new Date(1310187160270+1200); console.log(date) 

ritorna

Sab Jul 09 2011 06:52:41 GMT + 0200 (Ora solare Sudafrica)

Se hai bisogno di spogliarlo come è nella domanda:

 var returnVariable = "/Date(1346713200000+0100)/"; var d = new Date(parseFloat(returnVariable.replace("/Date(", "").replace(")/", ""))); 

Poiché la risposta precedente non gestisce gli offset del fuso orario, inserirò la mia versione:

 function fromDateString(str) { var res = str.match(/\/Date\((\d+)(?:([+-])(\d\d)(\d\d))?\)\//); if (res == null) return new Date(NaN); // or something that indicates it was not a DateString var time = parseInt(res[1], 10); if (res[2] && res[3] && res[4]) { var dir = res[2] == "+" ? -1 : 1, h = parseInt(res[3], 10), m = parseInt(res[4], 10); time += dir * (h*60+m) * 60000; } return new Date(time); } 

Il risultato corretto è Fri Jul 08 2011 18:52:40 GMT+0200 , o Fri, 08 Jul 2011 16:52:40 GMT .