我正在通过 DataJS 访问 SharePoint 2010 列表 WCF 数据服务,并以 /Date(1363708765000)/
的形式返回日期字段,有人知道我如何处理它以显示正确的日期吗?
注意:我在这里提出,因为我怀疑这是一个 DataJS 问题,而不是 SharePoint 中 ListData.svc
的特性。
最佳答案
您收到的回复是 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));
}
关于date - DataJS渲染日期为/Date(1363708765000)/,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15548982/