【问题标题】:highcharts: convert useUTC=true milliseconds to javascript Date objecthighcharts:将 useUTC=true 毫秒转换为 javascript Date 对象
【发布时间】:2013-11-09 16:14:11
【问题描述】:

我正在使用带有日期时间 x 轴且 useUTC=true 的 highcharts。因此,要获得 2013 年 11 月 5 日 11:30,我使用值 1383651000000,正如我在这个问题中找到的那样 highcharts datetime axis, how to comput correct timestamp?

现在,当我在 highcharts 上进行选择时,我得到的事件具有 UTC 时间戳。我想将它转换为本地时间应该是 11:30 的 javascript 日期......我如何得到它?

这是一个 Fiddle http://jsfiddle.net/2BffA/7/,你看到我不能简单地构造一个

new Date(event.min) 

来自时间戳,因为我将 UTC 日期转换为本地时间。

【问题讨论】:

    标签: javascript datetime highcharts


    【解决方案1】:

    我会使用这样的方法解析日期:

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

    利用

    date.getUTCHours()
    

    当然,您可以更改功能以任意方式显示日期。

    编辑::

    请参阅此处了解返回显示 UTC 时间的日期对象的更新方法(尽管它与日期对象混淆,因为该对象仍然认为它显示的时间是本地时间而不是 UTC):

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

    我认为最好按原样使用对象,并且仅在显示字符串时进行转换。对象已经知道 UTC 时间,但显示的是本地时间。

    【讨论】:

    • 我真正需要的是获取一个 javascript Date 对象来使用。不是字符串。此外,您不能仅更改小时字段以获得正确的日期。我必须考虑到一天不同的可能性以及当地时区与 UTC 相差半小时的可能性。
    • 您获得的 Date 对象包含有关本地时区偏移量的信息...如果您不小心,更改对象以显示负偏移量可能会导致一些棘手的事情。但是,请参阅另一种方法的更新答案。
    • 你是对的。最后,我决定使用浮点变量而不是日期变量来保留我的时间戳信息。关键是我需要处理“naife”日期时间对象(python 术语):即应该独立于客户端时区显示相同的时间戳。
    【解决方案2】:

    也可以返回值,会被dateFormat解析。

    http://api.highcharts.com/highcharts#Highcharts.dateFormat()

    【讨论】:

      猜你喜欢
      • 2013-12-30
      • 1970-01-01
      • 1970-01-01
      • 2015-11-19
      • 2014-05-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多