我的网络服务以下列格式返回一个对象。
{"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)/"}"
获取返回的日期时间值并将其转换为javascript日期对象的最佳方法是什么?
"SignupDate":"/Date(1272631625210)/"
我能想到的唯一方法是剥离第一个和最后一个字符然后再进行评估。还有更好的方法吗?
答案 0 :(得分:5)
你可以用正则表达式和日期构造函数来完成。
不确定它是否更好,但更安全。 Eval有时可能是邪恶的......
所以,你可以这样做:
var millisecs = signupDate.match(/\d+/)[0];
var date = new Date(parseInt(millisecs));
您还可以使用replace:
执行正则表达式var millisecs = signupDate.replace(/[^\d]/g,""));