2

我正在通过 DataJS 访问 SharePoint 2010 List WCF 数据服务并取回日期字段,因为/Date(1363708765000)/有人知道如何处理它以显示正确的日期吗?

注意:我在这里摆姿势是因为我怀疑这是一个 DataJS 问题,而不是ListData.svcSharePoint 中的一个特性。

4

1 回答 1

3

您收到的是一个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));
}
于 2013-03-22T13:16:02.943 回答