我正在通过DataJS访问SharePoint 2010 List WCF数据服务并将日期字段作为/Date(1363708765000)/
获取是否有人知道我如何处理它以显示正确的日期?
注意:我在这里冒充,因为我怀疑这是一个DataJS问题,而不仅仅是SharePoint中ListData.svc
的特性。
答案 0 :(得分:3)
你收到的是Unix epoch,它代表自1970年1月1日以来经过的毫秒数。幸运的是,JavaScript也使用它作为它的纪元,这意味着你可以创建一个新的Date对象使用经过的毫秒作为输入参数:
var myDate = new Date(1363708765000);
console.log("UTC:" + myDate.toUTCString());
// outputs UTC: Tue, 19 Mar 2013 15:59:25 GMT
当然,在使用它来初始化日期之前,您必须解析您正在获取的日期值的整数部分。可重用的函数可能如下所示:
function parseJsonDate( sDate ) {
var b, e, i;
b = sDate.indexOf('(');
e = sDate.indexOf(')');
i = sDate.substring(b+1,e);
if (isNaN(i)) { return null };
return new Date(parseInt(i));
}