Fecha de análisis del servicio web

Recibo las fechas de un servicio web, y se ven así:

/Date(1310187160270+1200)/

¿Cómo voy a convertir esto en un objeto de fecha en javascript?

He buscado en Google un poco y no puedo encontrar una respuesta decente, esto puede deberse en parte al hecho de que no estoy exactamente seguro de cómo se llama este tipo de objeto de fecha, por lo que si alguien podría arrojar luz sobre eso también, eso sería apreciado.

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

devoluciones

Sáb Jul 09 2011 06:52:41 GMT + 0200 (hora estándar de Sudáfrica)

Si necesita despojarlo como está en la Pregunta:

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

Como la respuesta anterior no maneja las compensaciones de zonas horarias, lanzaré mi versión:

 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); } 

El resultado correcto es Fri Jul 08 2011 18:52:40 GMT+0200 , o Fri, 08 Jul 2011 16:52:40 GMT .