我正在查询从Oracle数据库返回日期的Web服务,如下所示:
/Date(1369519200000)/
但是我没有丝毫知道这个Long的值代表什么,所以我不知道如何将它转换为javascript日期对象。
请帮忙
答案 0 :(得分:3)
它看起来像一个以毫秒为单位的纪元数据:
var ms = 1369519200000;
var d = new Date(0);
d.setMilliseconds(ms);
d
现在是“2013年5月25日星期五22:00:00 GMT”(通过d.toUTCString()
),希望能听到您的期望。
这不考虑时区;如果你知道日期是UTC,你可以改为使用setUTCMilliseconds
,或者只使用:
var d = new Date(ms);
但您可能需要准确了解网络服务向您发送的内容,以便您知道正确地解释日期 - 例如,您是否需要应用时区或夏令时调整。
不知道它的一般可靠性,但this article包含有关数据处理的一些信息,包括纪元日期的含义。
答案 1 :(得分:0)
看起来它是自UNIX 纪元(1970年午夜)以来的毫秒数。
如果您可以将该值作为整数获得,则可以执行以下操作:
var dbDate = new Date(0); // start out at time 0, i.e. the unix epoch
dbDate.setUTCSeconds(millisSinceEpoch/1000);