Highcharts约会一天

时间:2014-05-20 17:28:39

标签: javascript highcharts

我以毫秒为单位传递x轴,然后将x轴定义为:

    xAxis: {
        type: 'datetime'
    },

然而,Highcharts似乎没有在x轴上得到确切的日期,而是关闭了一天。为了说明,将鼠标悬停在任何栏上(这篇文章底部的小提琴),您将看到Highcharts将当天解释为什么,然后单击其中任何一个,我有一个点击事件来提醒您实际日期是什么应该是。请注意它有一天是如何关闭的。

这是Highcharts中的已知错误吗?任何解决方法?

这是我的小提琴:http://jsfiddle.net/hohenheim/j8cTE/33/

1 个答案:

答案 0 :(得分:1)

我相信您需要做的就是格式化/考虑UTC。 Highcharts默认为UTC(0)。 (http://api.highcharts.com/highcharts#global)如果改为:

function appendAds(date1) {
   alert(new Date(date1).toUTCString());
   $('#tableTitle').html("<u>Info for " + timeConverter(date1) + ":</u>");
   ...
}

(小提琴)http://jsfiddle.net/j8cTE/34/

您将看到它添加了“toUTCString()”显示正确的日期。您可能希望将其转换为更舒适的内容,但请记住,如果不使用“toUTCString()”,则必须记住UTC。

更新: 我想解释一下,我使用了“toUTCString()”,因为它很快,而且我知道的是我的头脑。这种方法不适用于所有事情,例如在appendAds函数中进一步向下,因为它是一个字符串。为了解释UTC和日期格式,完整的解析和操作对于这篇文章来说太过分了。但是,当我在网上处理日期时,我会尝试讨论几个关键点。另外,请参阅MDN了解其他日期信息(https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date)。

如果您需要准确的日期信息和/或逻辑,您需要知道您获得的日期格式(来自服务器,数据库等) - 例如,无论是否为UTC。然后,您需要考虑是否需要对其进行操作以进行显示(例如,对于查看器浏览器的时区)。最后,如果该日期在内部使用,您需要考虑是否,何时以及何时需要再次转换它(如果适用)。