Parsing Date from webservice
我正在从一个WebService获取日期,它们看起来如下:
如何将其转换为JavaScript中的日期对象?
我在谷歌上搜索了一下,找不到合适的答案——这可能部分是因为我不太确定这种约会对象叫什么——所以如果有人也能了解这一点,那将是值得赞赏的。
1 2 | var date = new Date(1310187160270+1200); console.log(date) |
退货
2011年7月9日星期六06:52:41 GMT+0200(南非标准时间)
如果您需要将其剥离为问题:
1 2 | var returnVariable ="/Date(1346713200000+0100)/"; var d = new Date(parseFloat(returnVariable.replace("/Date(","").replace(")/",""))); |
号
由于前面的答案不处理时区偏移,所以我将加入我的版本:
1 2 3 4 5 6 7 8 9 10 11 12 13 | 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); } |
正确的结果是