DataJS渲染日期为/日期(1363708765000)/

时间:2013-03-21 13:30:15

标签: date sharepoint-2010 datajs

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

注意:我在这里冒充,因为我怀疑这是一个DataJS问题,而不仅仅是SharePoint中ListData.svc的特性。

1 个答案:

答案 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));
}