我正在通过 DataJS 访问 SharePoint 2010 List WCF 数据服务并取回日期字段,因为/Date(1363708765000)/
有人知道如何处理它以显示正确的日期吗?
注意:我在这里摆姿势是因为我怀疑这是一个 DataJS 问题,而不是ListData.svc
SharePoint 中的一个特性。
我正在通过 DataJS 访问 SharePoint 2010 List WCF 数据服务并取回日期字段,因为/Date(1363708765000)/
有人知道如何处理它以显示正确的日期吗?
注意:我在这里摆姿势是因为我怀疑这是一个 DataJS 问题,而不是ListData.svc
SharePoint 中的一个特性。
您收到的是一个Unix epoch,它表示自 1970 年 1 月 1 日以来经过的毫秒数。幸运的是,JavaScript 也使用它作为它的 epoch,这意味着您可以使用经过的毫秒作为输入来创建一个新的 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));
}