Вызов javascript времени "объект" - PullRequest
0 голосов
/ 08 февраля 2011

Мой веб-сервис возвращает объект в следующем формате.

{"UserID":"338040a3-6587-42bf-b22e-dc88f4ea3a9c","CompanyID":"823946a4-29d0-4546-a7ca-790648cf1e1a","FirstName":"Maxim","LastName":"Gershkovich","Username":"MaximG","Password":"62198e58d57843967bc34824be77ee2f1e2abcbbe389dc41c06810ed6f9561bf","Email":"email@email.net.au","SignupDate":"/Date(1272631625210)/","IsAdmin":true,"LoginTime":"/Date(1297129238517)/"}"

Каков оптимальный способ получения возвращаемого значения datetime и преобразования его в объект даты javascript?

"SignupDate":"/Date(1272631625210)/"

Единственный способ, которым я могу придумать, - это убрать первый и последний символ, а затем сделать eval. Есть ли лучший способ?

1 Ответ

5 голосов
/ 08 февраля 2011

Вы можете сделать это с помощью регулярных выражений и конструктора Date.

Не уверен, что лучше, но безопаснее. Эвал иногда может быть злым ...

Итак, вы можете сделать что-то вроде этого:

var millisecs = signupDate.match(/\d+/)[0];
var date = new Date(parseInt(millisecs));

Вы также можете сделать регулярное выражение с заменой:

var millisecs = signupDate.replace(/[^\d]/g,""));
...