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