2013-11-09 115 views
1

我使用带有datetime x轴的highcharts和useUTC = true。所以得到11月05 2013年11:30我使用值1383651000000,因为我在这个问题中发现highcharts datetime axis, how to comput correct timestamp?highcharts:将useUTC = true毫秒转换为javascript日期对象

现在,当我在highcharts上选择我得到的事件UTC时间戳。我想将它转换为一个JavaScript日期应该在本地时间11:30 ...我怎么得到它?

这里是一个小提琴http://jsfiddle.net/2BffA/7/,你看,我不能简单地从时间戳构造一个

new Date(event.min) 

,因为我得到转换为本地时间UTC日期。

回答

1

我会用这样的解析日期出来:

http://jsfiddle.net/2BffA/15/

利用的

date.getUTCHours() 

您可以更改函数来显示你喜欢的任何方式的日期,当然。

编辑::

在这里看到更新的方法返回显示UTC时间的日期对象(虽然它的日期对象弄乱,因为对象仍然认为它显示的时间是本地时间,而不是UTC的):

http://jsfiddle.net/2BffA/17/

我会坚持认为这是更好地与目标工作,因为然而就是,只有进行转换时,正在显示的字符串。该对象已知道UTC时间,但显示当地时间。

+0

我真正需要的是获得一个javascript Date对象来处理。不是一个字符串。此外,您不能只更改小时字段以获取正确的日期。我必须考虑到日期不同的可能性以及当地时区与UTC相差半小时的可能性。 –

+0

您得到的Date对象包含有关本地时区偏移量的信息... 将对象改为显示减去偏移量可能会导致一些棘手的事情,如果你不小心。 但是,请参阅其他方法的更新答案。 – jlbriggs

+0

你说得对。最后,我决定使用浮点变量而不是日期来保存我的时间戳信息。重点是我需要处理“naife”datetime对象(python术语):即应独立于客户端的时区显示相同的时间戳。 –