0

我正在查询一个从 Oracle 数据库返回日期的 Web 服务,如下所示: /Date(1369519200000)/ 但我一点也不知道这个 Long 的值代表什么,所以我不知道如何将其转换为 javascript 日期目的。

请帮忙

4

2 回答 2

3

它看起来像一个以毫秒为单位的纪元数据:

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 服务向您发送的内容,以便知道您正确地解释了日期 - 例如,您是否需要应用时区或夏令时调整。

不知道它的一般可靠性,但本文包含一些有关数据处理的信息,包括纪元日期的含义。

于 2013-05-21T16:29:01.790 回答
0

看起来它是自 UNIX时代(1970 年午夜)以来的毫秒数。

如果您可以将该值作为整数获取,则可以执行以下操作:

var dbDate = new Date(0);  // start out at  time 0, i.e. the unix epoch
dbDate.setUTCSeconds(millisSinceEpoch/1000);
于 2013-05-21T16:28:39.823 回答