1

假设我想绘制一个系列,其中第一个点代表 2013 年 11 月 5 日 11:30 的时间。如果我在不同时区的浏览器中查看图表,我希望时间 11:30 相同。因此我想要useUTC=true。现在,我如何计算给 highcharts 的值(毫秒)?

我试过这个python代码:

>>> import datetime,time
>>> t=datetime.datetime(2013,11,5,11,30,00)
>>> time.mktime(t.timetuple())*1000
1383647400000.0

但是,如果我将值 1383647400000.0 插入到 highcharts 中,我会得到一个时间为 10:30 而不是 11:30 的点。

这是重现故障的代码:http: //jsfiddle.net/2BffA/6/

我究竟做错了什么?

4

1 回答 1

-1

问题出在 python 代码中......构造 2013 年 11 月 5 日 11:30 的 UTC 时间戳的正确方法是

>>> import datetime, calendar
>>> t=datetime.datetime(2013,11,5,11,30,00)
>>> calendar.timegm(t.utctimetuple())*1000.0 + t.microsecond * 0.0011383651000000.0
1383651000000.0

如果 useUTC=true,这是发送到 highcharts 的正确时间戳

于 2013-11-09T15:48:53.077 回答