如何在d3中获得更精确的秒数?

时间:2015-12-01 17:42:46

标签: javascript node.js d3.js timestamp

我在数据库中有一些时间数据作为unix时间戳,即1446151150000.我想将它解析为hr:min:sec格式为d3。所以我这样做:

// d.localtime is unix timestamp
data.forEach(function(d) {
  d.localtime = parseDate(new Date(Number(d.localtime)).toString().substring(16, 24));
});

但是我发现时间戳14461511500001446151150500具有完全相同的转换后的字符串14:39:10。即,new Date(Number(1446151150000)new Date(Number(1446151150500)Thu Oct 29 2015 14:39:10 GMT-0600 (MDT) 完全相同,但实际时间差异为0.5秒。

问题,我怎样才能获得更精确的秒数? ,如何将转换后的14461511500001446151150500字符串分别设为14:39:10.0014:39:10.50而不是14:39:10

谢谢!

1 个答案:

答案 0 :(得分:0)

精度仍然存在,您只是看到日期的默认语言环境字符串表示。使用d3,您可以使用自定义时间format调整字符串格式。您正在寻找的具体是:

> dtFormat = d3.time.format("%a %b %e %Y %H:%M:%S.%L GMT%Z");
> dtFormat(new Date(1446151150500));
"Thu Oct 29 2015 16:39:10.500 GMT-0400"